openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2015
- 1 participants
- 1128 discussions
Hello community,
here is the log from the commit of package wicked for openSUSE:Factory checked in at 2015-09-11 09:03:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
and /work/SRC/openSUSE:Factory/.wicked.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wicked"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes 2015-08-05 06:49:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wicked.new/wicked.changes 2015-09-11 09:03:19.000000000 +0200
@@ -1,0 +2,29 @@
+Mon Sep 7 14:42:45 UTC 2015 - pwieczorkiewicz(a)suse.com
+
+- version 0.6.23
+- ovs: initial openvswitch bridge support (fate#318840)
+- team: fix segfault on discovery failure
+- nanny: register device object also on device-up event
+
+-------------------------------------------------------------------
+Tue Sep 1 09:06:56 UTC 2015 - mt(a)suse.de
+
+- version 0.6.22
+- fsm: do not run post-up scripts when leases defer (bsc#940239)
+- team: configurable teamd support and ctl detection (fate#318389)
+ [- 0001-teamd-create-teamd-run-directory-when-missed.patch]
+
+-------------------------------------------------------------------
+Thu Aug 20 15:25:08 UTC 2015 - pwieczorkiewicz(a)suse.com
+
+- Add 0001-teamd-create-teamd-run-directory-when-missed.patch:
+ Make sure /run/teamd directory is created on config generation.
+
+-------------------------------------------------------------------
+Wed Aug 19 17:22:25 UTC 2015 - pwieczorkiewicz(a)suse.com
+
+- version 0.6.21
+- team: initial team device support (fate#318389)
+- ifstatus: fixed error return code and quiet option (bsc#939142)
+
+-------------------------------------------------------------------
Old:
----
wicked-0.6.20.tar.bz2
New:
----
wicked-0.6.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.Uo6z89/_old 2015-09-11 09:03:20.000000000 +0200
+++ /var/tmp/diff_new_pack.Uo6z89/_new 2015-09-11 09:03:20.000000000 +0200
@@ -18,7 +18,7 @@
%define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0}
Name: wicked
-Version: 0.6.20
+Version: 0.6.23
Release: %{release_prefix}.0.0
Summary: Network configuration infrastructure
License: GPL-2.0
@@ -53,6 +53,7 @@
# Note: nanny use is enabled by default
%bcond_without use_nanny
+%bcond_without use_teamd
BuildRequires: libnl3-devel
%if 0%{?suse_version} > 1110
@@ -178,6 +179,9 @@
%if %{without use_nanny}
--disable-nanny-use \
%endif
+%if %{without use_teamd}
+ --disable-teamd \
+%endif
%if %{with systemd}
--enable-systemd \
--with-systemd-unitdir=%{_unitdir} \
@@ -335,6 +339,8 @@
%_mandir/man5/ifcfg-dummy.5*
%_mandir/man5/ifcfg-macvlan.5*
%_mandir/man5/ifcfg-macvtap.5*
+%_mandir/man5/ifcfg-ovs-bridge.5*
+%_mandir/man5/ifcfg-team.5*
%_mandir/man5/ifcfg-tunnel.5*
%_mandir/man5/ifcfg-vlan.5*
%_mandir/man5/ifcfg-wireless.5*
++++++ wicked-0.6.20.tar.bz2 -> wicked-0.6.23.tar.bz2 ++++++
++++ 11941 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package pciutils-ids for openSUSE:Factory checked in at 2015-09-11 09:03:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pciutils-ids (Old)
and /work/SRC/openSUSE:Factory/.pciutils-ids.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pciutils-ids"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pciutils-ids/pciutils-ids.changes 2014-11-24 11:18:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pciutils-ids.new/pciutils-ids.changes 2015-09-11 09:03:11.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 2 07:38:10 CEST 2015 - tiwai(a)suse.de
+
+- update pci.ids to version 2015.09.01 (bsc#944104,bsc#944436)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pciutils-ids.spec ++++++
--- /var/tmp/diff_new_pack.MGbOUg/_old 2015-09-11 09:03:12.000000000 +0200
+++ /var/tmp/diff_new_pack.MGbOUg/_new 2015-09-11 09:03:12.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pciutils-ids
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: pciutils-ids
-Version: 2014.11.18
+Version: 2015.09.01
Release: 0
Summary: PCI-utilities pci.ids database
License: GPL-2.0+
++++++ pci.ids.bz2 ++++++
++++ 4303 lines (skipped)
++++ between pci.ids.bz2
++++ and /work/SRC/openSUSE:Factory/.pciutils-ids.new/pci.ids.bz2
1
0
Hello community,
here is the log from the commit of package kernel-firmware for openSUSE:Factory checked in at 2015-09-11 09:03:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-firmware (Old)
and /work/SRC/openSUSE:Factory/.kernel-firmware.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-firmware"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware.changes 2015-07-18 14:39:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-firmware.new/kernel-firmware.changes 2015-09-11 09:03:05.000000000 +0200
@@ -1,0 +2,18 @@
+Mon Sep 7 13:42:46 CEST 2015 - tiwai(a)suse.de
+
+- Update to version 20150907git (commit 6ebf5d57) (boo#944661):
+ * amdgpu: add firmware for VI asics
+ * ar3k: add to support AR3012 v2.1 firmware
+ * Add Intel OPA hfi1 firmware
+ * New major GuC/DMC releases for Skylake
+ * New minor DMC release for Broxton - ver1_05
+ * update firmware to revision 1.14.4.0
+ * tegra: Update XHCI firmware to v50.10 for T210
+ * wilc1000: add firmware for wilc1000 802.11n driver
+ * usbdux: usbduxsigma firmware updates
+ * Update to QAT dh895xxcc UOF firmware and a new QAT MMP FW
+ * rtl_bt: correct RTL8723A firmware file
+ * bnx2x: Update to FW version 7.12.30
+ * tegra: add GK20A FECS/GPCCS firmware
+
+-------------------------------------------------------------------
Old:
----
linux-firmware-20150715git.tar.xz
New:
----
linux-firmware-20150907git.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-firmware.spec ++++++
--- /var/tmp/diff_new_pack.0phmtZ/_old 2015-09-11 09:03:08.000000000 +0200
+++ /var/tmp/diff_new_pack.0phmtZ/_new 2015-09-11 09:03:08.000000000 +0200
@@ -20,7 +20,7 @@
BuildRequires: fdupes
BuildRequires: kernel-default
BuildRequires: suse-module-tools
-Version: 20150715git
+Version: 20150907git
Release: 0
Summary: Linux kernel firmware files
License: SUSE-Firmware and GPL-2.0 and GPL-2.0+ and MIT
++++++ linux-firmware-20150715git.tar.xz -> linux-firmware-20150907git.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-firmware/linux-firmware-20150715git.tar.xz /work/SRC/openSUSE:Factory/.kernel-firmware.new/linux-firmware-20150907git.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package libvdpau for openSUSE:Factory checked in at 2015-09-11 09:02:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvdpau (Old)
and /work/SRC/openSUSE:Factory/.libvdpau.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvdpau"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvdpau/libvdpau.changes 2015-03-19 20:50:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libvdpau.new/libvdpau.changes 2015-09-11 09:02:55.000000000 +0200
@@ -1,0 +2,37 @@
+Mon Sep 7 10:24:35 UTC 2015 - sndirsch(a)suse.com
+
+- replaced u_src-mesa_dri2.c-define-_GNU_SOURCE.patch with upstream
+ U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch
+
+-------------------------------------------------------------------
+Wed Sep 2 13:03:40 UTC 2015 - sndirsch(a)suse.com
+
+- added missing BuildRequires for pkgconfig(dri2proto)
+- u_src-mesa_dri2.c-define-_GNU_SOURCE.patch
+ * Without having defined _GNU_SOURCE __USE_GNU isn't defined
+ either. Though secure_getenv() in stdlib.h isn't declared.
+
+-------------------------------------------------------------------
+Tue Sep 1 14:02:11 UTC 2015 - sndirsch(a)suse.com
+
+- Update libvdpau to version 1.1.1 (bnc#943967,#943968,#943969)
+ libvdpau versions 1.1 and earlier, when used in setuid or setgid
+ applications, contain vulnerabilities related to environment
+ variable handling that could allow an attacker to execute
+ arbitrary code or overwrite arbitrary files. See CVE-2015-5198,
+ CVE-2015-5199, and CVE-2015-5200 for more details.
+
+ This release uses the secure_getenv() function, when available,
+ to fix these problems. The updated libvdpau will instead use a
+ fallback implementation of secure_getenv() when the platform
+ doesn't provide one.
+
+ If you use the NVIDIA .run installer packages, please see
+ https://devtalk.nvidia.com/default/topic/873035 for additional
+ information.
+
+ This release also adds tracing of HEVC picture structures to
+ libvdpau_trace.
+- supersedes patch: libvdpau-nopdftex.patch
+
+-------------------------------------------------------------------
Old:
----
libvdpau-1.1.tar.bz2
libvdpau-nopdftex.patch
New:
----
U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch
libvdpau-1.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvdpau.spec ++++++
--- /var/tmp/diff_new_pack.OEfV6o/_old 2015-09-11 09:02:56.000000000 +0200
+++ /var/tmp/diff_new_pack.OEfV6o/_new 2015-09-11 09:02:56.000000000 +0200
@@ -17,7 +17,7 @@
Name: libvdpau
-Version: 1.1
+Version: 1.1.1
Release: 0
Summary: VDPAU wrapper and trace libraries
License: MIT
@@ -28,8 +28,7 @@
Source2: README
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
-# PATCH-FIX-OPENSUSE libvdpau-nopdftex.patch -- don't requires pdftex for building
-Patch1: libvdpau-nopdftex.patch
+Patch0: U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
@@ -38,6 +37,7 @@
BuildRequires: graphviz
BuildRequires: libtool
BuildRequires: pkgconfig
+BuildRequires: pkgconfig(dri2proto)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -85,7 +85,7 @@
%prep
%setup -q -b1
-%patch1 -p1
+%patch0 -p1
%build
autoreconf -fi
++++++ U_Add_missing_include_of_config_h_to_define_GNU_SOURCE.patch ++++++
>From b9905906439d84ee8e99c648ca2383c32c057c68 Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz(a)ubuntu.com>
Date: Tue, 1 Sep 2015 10:45:11 +0200
Subject: [PATCH] mesa_dri2: Add missing include of config.h to define
_GNU_SOURCE
Fix build with -Wimplicit-function-declaration while secure_getenv() is
guarded by __USE_GNU.
---
src/mesa_dri2.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/mesa_dri2.c b/src/mesa_dri2.c
index 51e8794..420ccee 100644
--- a/src/mesa_dri2.c
+++ b/src/mesa_dri2.c
@@ -33,6 +33,9 @@
* and José Hiram Soltren (jsoltren(a)nvidia.com)
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#define NEED_REPLIES
#include <X11/Xlibint.h>
--
2.5.0
++++++ libvdpau-1.1.tar.bz2 -> libvdpau-1.1.1.tar.bz2 ++++++
++++ 6490 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/ChangeLog new/libvdpau-1.1.1/ChangeLog
--- old/libvdpau-1.1/ChangeLog 2015-03-16 22:31:43.000000000 +0100
+++ new/libvdpau-1.1.1/ChangeLog 2015-08-31 23:00:32.000000000 +0200
@@ -1,3 +1,113 @@
+commit af517f56d64118520aa0c8456318dd9ec3307e94
+Author: Aaron Plattner <aplattner(a)nvidia.com>
+Date: Mon Aug 31 13:59:50 2015 -0700
+
+ Bump version to 1.1.1
+
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
+commit d1f9c16b1a8187110e501c9116d21ffee25c0ba4
+Author: José Hiram Soltren <jsoltren(a)nvidia.com>
+Date: Mon Aug 17 16:01:44 2015 -0500
+
+ Use secure_getenv(3) to improve security
+
+ This patch is in response to the following security vulnerabilities
+ (CVEs) reported to NVIDIA against libvdpau:
+
+ CVE-2015-5198
+ CVE-2015-5199
+ CVE-2015-5200
+
+ To address these CVEs, this patch:
+
+ - replaces all uses of getenv(3) with secure_getenv(3);
+ - uses secure_getenv(3) when available, with a fallback option;
+ - protects VDPAU_DRIVER against directory traversal by checking for '/'
+
+ On platforms where secure_getenv(3) is not available, the C preprocessor
+ will print a warning at compile time. Then, a preprocessor macro will
+ replace secure_getenv(3) with our getenv_wrapper(), which utilizes the check:
+
+ getuid() == geteuid() && getgid() == getegid()
+
+ See getuid(2) and getgid(2) for further details.
+
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+ Reviewed-by: Florian Weimer <fweimer(a)redhat.com>
+
+commit 47fd4e8ec55e37f9d9e7583090f35929bfe63937
+Author: Bibhuti Prusty <bprusty(a)nvidia.com>
+Date: Mon May 11 17:26:17 2015 +0000
+
+ Add tracing for HEVC picture info
+
+ Signed-off-by: Bibhuti Bhushan Prusty <bprusty(a)nvidia.com>
+ Reviewed-by: José Hiram Soltren <jsoltren(a)nvidia.com>
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
+commit 77e9c3456ab0cd2190381754ca6f82e3710b67a9
+Author: José Hiram Soltren <jsoltren(a)nvidia.com>
+Date: Thu Apr 23 15:43:21 2015 -0500
+
+ Fix Doxygen typo: s/no queued/not queued/
+
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+ Reviewed-by: Robert Morell <rmorell(a)nvidia.com>
+
+commit 3b3bf77ad67957be69b76c1c94dce981d75c4e9a
+Author: Emil Velikov <emil.l.velikov(a)gmail.com>
+Date: Wed Mar 18 23:50:31 2015 +0000
+
+ autogen.sh: update/copy over from mesa
+
+ This commit addresses three concerns:
+ - Places quotes around variables. Otherwise things will fail badly if
+ either one of then contains space.
+ - Adds --force to autoreconf, which will ensure that the build is
+ regenerated, if one updates autotools.
+ - Honours the NOCONFIGURE variable, which is set by gnome-continuous
+ (iirc).
+
+ Signed-off-by: Emil Velikov <emil.l.velikov(a)gmail.com>
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
+commit e4681ab2b71638a48fc857669903f7ac7ec8b3cb
+Author: Emil Velikov <emil.l.velikov(a)gmail.com>
+Date: Wed Mar 18 23:50:30 2015 +0000
+
+ configure.ac: remove AM_MAINTAINER_MODE
+
+ Using this macro can lead to various security issues, as pointed out in
+ the automake manual. Follow the example set by most X components and
+ remove it from the build.
+
+ Signed-off-by: Emil Velikov <emil.l.velikov(a)gmail.com>
+ Reviewed-by: Aaron Plattner <aplattner(a)nvidia.com>
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
+commit 19b9af8db20a1d3db882647e95682f46ecdf266e
+Author: Emil Velikov <emil.l.velikov(a)gmail.com>
+Date: Wed Mar 18 23:50:29 2015 +0000
+
+ .gitignore: add compile
+
+ Yet another artefact from the autotools buildsystem.
+
+ Signed-off-by: Emil Velikov <emil.l.velikov(a)gmail.com>
+ Reviewed-by: Aaron Plattner <aplattner(a)nvidia.com>
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
+commit 01e45a95380aafc9ea2d3662114dbde7146a8fc8
+Author: Aaron Plattner <aplattner(a)nvidia.com>
+Date: Sat Feb 7 11:45:19 2015 -0800
+
+ Remove pdflatex dependency
+
+ PDF documentation isn't enabled, so pdflatex isn't used.
+
+ Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
+
commit 0962da95cdf1d87a883d1d0db7d2697d6d103348
Author: Aaron Plattner <aplattner(a)nvidia.com>
Date: Mon Mar 16 14:31:31 2015 -0700
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/TODO new/libvdpau-1.1.1/TODO
--- old/libvdpau-1.1/TODO 2014-12-10 17:59:42.000000000 +0100
+++ new/libvdpau-1.1.1/TODO 1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-libvdpau-0.9 blockers:
-New profiles (Re: [VDPAU] [PATCH] Add support for Hi444PP in VDPAU API)
-slice offset support
-Hi444PP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/autogen.sh new/libvdpau-1.1.1/autogen.sh
--- old/libvdpau-1.1/autogen.sh 2012-12-14 17:50:42.000000000 +0100
+++ new/libvdpau-1.1.1/autogen.sh 2015-05-11 21:53:46.000000000 +0200
@@ -1,12 +1,14 @@
#! /bin/sh
-srcdir=`dirname $0`
+srcdir=`dirname "$0"`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
-cd $srcdir
+cd "$srcdir"
-autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
+autoreconf --force --verbose --install || exit 1
+cd "$ORIGDIR" || exit $?
-$srcdir/configure --enable-maintainer-mode "$@"
+if test -z "$NOCONFIGURE"; then
+ "$srcdir"/configure "$@"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/compile new/libvdpau-1.1.1/compile
--- old/libvdpau-1.1/compile 2014-12-19 18:33:35.000000000 +0100
+++ new/libvdpau-1.1.1/compile 2015-08-31 23:00:08.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/config.h.in new/libvdpau-1.1.1/config.h.in
--- old/libvdpau-1.1/config.h.in 2015-03-16 22:31:43.000000000 +0100
+++ new/libvdpau-1.1.1/config.h.in 2015-08-31 23:00:07.000000000 +0200
@@ -12,6 +12,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have the `secure_getenv' function. */
+#undef HAVE_SECURE_GETENV
+
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -33,6 +36,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* Define to 1 if you have the `__secure_getenv' function. */
+#undef HAVE___SECURE_GETENV
+
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
@@ -60,5 +66,37 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
/* Version number of package */
#undef VERSION
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/configure.ac new/libvdpau-1.1.1/configure.ac
--- old/libvdpau-1.1/configure.ac 2015-03-16 22:31:19.000000000 +0100
+++ new/libvdpau-1.1.1/configure.ac 2015-08-31 22:59:37.000000000 +0200
@@ -1,11 +1,14 @@
AC_PREREQ(2.60)
-AC_INIT(libvdpau, 1.1, [vdpau(a)lists.freedesktop.org] libvdpau)
+AC_INIT(libvdpau, 1.1.1, [vdpau(a)lists.freedesktop.org] libvdpau)
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
-AM_MAINTAINER_MODE
AC_CONFIG_HEADERS(config.h)
+# Check for secure_getenv
+AC_USE_SYSTEM_EXTENSIONS
+AC_CHECK_FUNCS([__secure_getenv secure_getenv])
+
# Disable static libraries by default. Use --enable-static if you really want
# them.
AC_DISABLE_STATIC
@@ -56,11 +59,9 @@
if test "x$DOCS" != xno; then
AC_CHECK_TOOL([DOXYGEN], [doxygen], [no])
AC_CHECK_TOOL([DOT], [dot], [no])
- AC_CHECK_TOOL([PDFTEX], [pdftex], [no])
else
DOXYGEN=no
DOT=no
- PDFTEX=no
fi
if test "x$DOCS" = xyes; then
if test "x$DOXYGEN" = xno; then
@@ -69,11 +70,8 @@
if test "x$DOT" = xno; then
AC_ERROR([Documentation enabled but dot was not found in your path. Please install graphviz])
fi
- if test "x$PDFTEX" = xno; then
- AC_ERROR([Documentation enabled but pdftex was not found in your path])
- fi
fi
-AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno -a "x$PDFTEX" != xno])
+AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno])
AC_SUBST(DOXYGEN)
# Options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/include/vdpau/vdpau.h new/libvdpau-1.1.1/include/vdpau/vdpau.h
--- old/libvdpau-1.1/include/vdpau/vdpau.h 2015-03-16 20:15:04.000000000 +0100
+++ new/libvdpau-1.1.1/include/vdpau/vdpau.h 2015-05-11 21:55:31.000000000 +0200
@@ -4344,7 +4344,7 @@
* \brief The status of a surface within a presentation queue.
*/
typedef enum {
- /** The surface is no queued or currently visible. */
+ /** The surface is not queued or currently visible. */
VDP_PRESENTATION_QUEUE_STATUS_IDLE,
/** The surface is in the queue, and not currently visible. */
VDP_PRESENTATION_QUEUE_STATUS_QUEUED,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/missing new/libvdpau-1.1.1/missing
--- old/libvdpau-1.1/missing 2014-12-19 18:33:35.000000000 +0100
+++ new/libvdpau-1.1.1/missing 2015-08-31 23:00:08.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/src/Makefile.am new/libvdpau-1.1.1/src/Makefile.am
--- old/libvdpau-1.1/src/Makefile.am 2014-11-05 01:17:39.000000000 +0100
+++ new/libvdpau-1.1.1/src/Makefile.am 2015-08-31 22:53:02.000000000 +0200
@@ -9,6 +9,7 @@
libvdpau_la_SOURCES = \
vdpau_wrapper.c \
+ util.h \
$(DRI2_SOURCES)
if DRI2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/src/mesa_dri2.c new/libvdpau-1.1.1/src/mesa_dri2.c
--- old/libvdpau-1.1/src/mesa_dri2.c 2013-07-26 07:09:55.000000000 +0200
+++ new/libvdpau-1.1.1/src/mesa_dri2.c 2015-08-31 22:53:02.000000000 +0200
@@ -1,6 +1,6 @@
/*
* Copyright © 2008 Red Hat, Inc.
- * Copyright © 2010 NVIDIA Corporation
+ * Copyright © 2010-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Soft-
@@ -30,6 +30,7 @@
* Authors:
* Kristian Høgsberg (krh(a)redhat.com)
* Modified for VDPAU by Aaron Plattner (aplattner(a)nvidia.com)
+ * and José Hiram Soltren (jsoltren(a)nvidia.com)
*/
@@ -39,6 +40,7 @@
#include <X11/extensions/extutil.h>
#include <X11/extensions/dri2proto.h>
#include "mesa_dri2.h"
+#include "util.h"
static char dri2ExtensionName[] = DRI2_NAME;
static XExtensionInfo *dri2Info;
@@ -130,7 +132,7 @@
req->driverType = DRI2DriverVDPAU;
#ifdef DRI2DriverPrimeShift
{
- char *prime = getenv("DRI_PRIME");
+ char *prime = secure_getenv("DRI_PRIME");
if (prime) {
unsigned int primeid;
errno = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/src/util.h new/libvdpau-1.1.1/src/util.h
--- old/libvdpau-1.1/src/util.h 1970-01-01 01:00:00.000000000 +0100
+++ new/libvdpau-1.1.1/src/util.h 2015-08-31 22:55:58.000000000 +0200
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015 NVIDIA Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <unistd.h>
+#include <stdlib.h>
+
+static char * getenv_wrapper(const char *name)
+{
+ if (getuid() == geteuid() && getgid() == getegid()) {
+ return getenv(name);
+ }
+ else {
+ return NULL;
+ }
+}
+
+#ifndef HAVE_SECURE_GETENV
+# ifdef HAVE___SECURE_GETENV
+# define secure_getenv __secure_getenv
+# else
+# warning Neither secure_getenv nor __secure_getenv is available.
+# define secure_getenv getenv_wrapper
+# endif
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/src/vdpau_wrapper.c new/libvdpau-1.1.1/src/vdpau_wrapper.c
--- old/libvdpau-1.1/src/vdpau_wrapper.c 2014-11-05 01:17:39.000000000 +0100
+++ new/libvdpau-1.1.1/src/vdpau_wrapper.c 2015-08-31 22:58:46.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009 NVIDIA, Corporation
+ * Copyright (c) 2008-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -37,6 +37,7 @@
#include "mesa_dri2.h"
#include <X11/Xlib.h>
#endif
+#include "util.h"
typedef void SetDllHandle(
void * driver_dll_handle
@@ -117,7 +118,12 @@
char const * vdpau_trace;
char const * func_name;
- vdpau_driver = getenv("VDPAU_DRIVER");
+ vdpau_driver = secure_getenv("VDPAU_DRIVER");
+ if (vdpau_driver) {
+ if (strchr(vdpau_driver, '/')) {
+ vdpau_driver = NULL;
+ }
+ }
if (!vdpau_driver) {
vdpau_driver = vdpau_driver_dri2 =
_vdp_get_driver_name_from_dri2(display, screen);
@@ -126,15 +132,13 @@
vdpau_driver = "nvidia";
}
- if (geteuid() == getuid()) {
- /* don't allow setuid apps to use VDPAU_DRIVER_PATH */
- vdpau_driver_path = getenv("VDPAU_DRIVER_PATH");
- if (vdpau_driver_path &&
- snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib),
- DRIVER_LIB_FORMAT, vdpau_driver_path, vdpau_driver) <
- sizeof(vdpau_driver_lib)) {
- _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
- }
+ /* Don't allow setuid apps to use VDPAU_DRIVER_PATH */
+ vdpau_driver_path = secure_getenv("VDPAU_DRIVER_PATH");
+ if (vdpau_driver_path &&
+ snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib),
+ DRIVER_LIB_FORMAT, vdpau_driver_path, vdpau_driver) <
+ sizeof(vdpau_driver_lib)) {
+ _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
}
/* Fallback to VDPAU_MODULEDIR when VDPAU_DRIVER_PATH is not set,
@@ -177,7 +181,7 @@
_vdp_backend_dll = _vdp_driver_dll;
- vdpau_trace = getenv("VDPAU_TRACE");
+ vdpau_trace = secure_getenv("VDPAU_TRACE");
if (vdpau_trace && atoi(vdpau_trace)) {
SetDllHandle * set_dll_handle;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/test-driver new/libvdpau-1.1.1/test-driver
--- old/libvdpau-1.1/test-driver 2014-12-19 18:33:35.000000000 +0100
+++ new/libvdpau-1.1.1/test-driver 2015-08-31 23:00:08.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2013-07-13.22; # UTC
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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
@@ -106,11 +106,14 @@
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
+
if test $enable_hard_errors = no && test $estatus -eq 99; then
- estatus=1
+ tweaked_estatus=1
+else
+ tweaked_estatus=$estatus
fi
-case $estatus:$expect_failure in
+case $tweaked_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;;
@@ -119,6 +122,12 @@
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libvdpau-1.1/trace/vdpau_trace.cpp new/libvdpau-1.1.1/trace/vdpau_trace.cpp
--- old/libvdpau-1.1/trace/vdpau_trace.cpp 2014-09-24 19:25:11.000000000 +0200
+++ new/libvdpau-1.1.1/trace/vdpau_trace.cpp 2015-08-31 22:58:21.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009 NVIDIA, Corporation
+ * Copyright (c) 2008-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -31,6 +31,8 @@
#include <string.h>
#include <vdpau/vdpau_x11.h>
+#include "../src/util.h"
+
#define _VDP_TRACE_ARSIZE(_x_) ((sizeof (_x_)) / (sizeof ((_x_)[0])))
#if DEBUG
@@ -483,6 +485,243 @@
fputs("}}", _vdp_cap_data.fp);
}
break;
+ case VDP_DECODER_PROFILE_HEVC_MAIN:
+ case VDP_DECODER_PROFILE_HEVC_MAIN_10:
+ case VDP_DECODER_PROFILE_HEVC_MAIN_STILL:
+ case VDP_DECODER_PROFILE_HEVC_MAIN_12:
+ case VDP_DECODER_PROFILE_HEVC_MAIN_444:
+ {
+ VdpPictureInfoHEVC const * picture_info_hevc =
+ (VdpPictureInfoHEVC const *)picture_info;
+
+ fprintf(
+ _vdp_cap_data.fp,
+ "{%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_hevc->chroma_format_idc,
+ (uint32_t)picture_info_hevc->separate_colour_plane_flag,
+ (uint32_t)picture_info_hevc->pic_width_in_luma_samples,
+ (uint32_t)picture_info_hevc->pic_height_in_luma_samples,
+ (uint32_t)picture_info_hevc->bit_depth_luma_minus8,
+ (uint32_t)picture_info_hevc->bit_depth_chroma_minus8,
+ (uint32_t)picture_info_hevc->log2_max_pic_order_cnt_lsb_minus4,
+ (uint32_t)picture_info_hevc->sps_max_dec_pic_buffering_minus1,
+ (uint32_t)picture_info_hevc->log2_min_luma_coding_block_size_minus3,
+ (uint32_t)picture_info_hevc->log2_diff_max_min_luma_coding_block_size,
+ (uint32_t)picture_info_hevc->log2_min_transform_block_size_minus2,
+ (uint32_t)picture_info_hevc->log2_diff_max_min_transform_block_size,
+ (uint32_t)picture_info_hevc->max_transform_hierarchy_depth_inter,
+ (uint32_t)picture_info_hevc->max_transform_hierarchy_depth_intra,
+ (uint32_t)picture_info_hevc->scaling_list_enabled_flag
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList4x4); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList4x4[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingList4x4[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList8x8); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList8x8[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingList8x8[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList16x16); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList16x16[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingList16x16[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList32x32); ++i) {
+ fputs((i == 0) ? "{" : "}, {", _vdp_cap_data.fp);
+ for (uint32_t j = 0; j < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingList32x32[0]); ++j) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (j == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingList32x32[i][j]
+ );
+ }
+ }
+ fputs("}}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingListDCCoeff16x16); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingListDCCoeff16x16[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->ScalingListDCCoeff32x32); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->ScalingListDCCoeff32x32[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %d, %u, %u, %u, %u, %d, %d, %u, %u, %u, %u, %u, %u, %u, %u, %u, {",
+ (uint32_t)picture_info_hevc->amp_enabled_flag,
+ (uint32_t)picture_info_hevc->sample_adaptive_offset_enabled_flag,
+ (uint32_t)picture_info_hevc->pcm_enabled_flag,
+ (uint32_t)picture_info_hevc->pcm_sample_bit_depth_luma_minus1,
+ (uint32_t)picture_info_hevc->pcm_sample_bit_depth_chroma_minus1,
+ (uint32_t)picture_info_hevc->log2_min_pcm_luma_coding_block_size_minus3,
+ (uint32_t)picture_info_hevc->log2_diff_max_min_pcm_luma_coding_block_size,
+ (uint32_t)picture_info_hevc->pcm_loop_filter_disabled_flag,
+ (uint32_t)picture_info_hevc->num_short_term_ref_pic_sets,
+ (uint32_t)picture_info_hevc->long_term_ref_pics_present_flag,
+ (uint32_t)picture_info_hevc->num_long_term_ref_pics_sps,
+ (uint32_t)picture_info_hevc->sps_temporal_mvp_enabled_flag,
+ (uint32_t)picture_info_hevc->strong_intra_smoothing_enabled_flag,
+ (uint32_t)picture_info_hevc->dependent_slice_segments_enabled_flag,
+ (uint32_t)picture_info_hevc->output_flag_present_flag,
+ (uint32_t)picture_info_hevc->num_extra_slice_header_bits,
+ (uint32_t)picture_info_hevc->sign_data_hiding_enabled_flag,
+ (uint32_t)picture_info_hevc->cabac_init_present_flag,
+ (uint32_t)picture_info_hevc->num_ref_idx_l0_default_active_minus1,
+ (uint32_t)picture_info_hevc->num_ref_idx_l1_default_active_minus1,
+ (int32_t)picture_info_hevc->init_qp_minus26,
+ (uint32_t)picture_info_hevc->constrained_intra_pred_flag,
+ (uint32_t)picture_info_hevc->transform_skip_enabled_flag,
+ (uint32_t)picture_info_hevc->cu_qp_delta_enabled_flag,
+ (uint32_t)picture_info_hevc->diff_cu_qp_delta_depth,
+ (int32_t)picture_info_hevc->pps_cb_qp_offset,
+ (int32_t)picture_info_hevc->pps_cr_qp_offset,
+ (uint32_t)picture_info_hevc->pps_slice_chroma_qp_offsets_present_flag,
+ (uint32_t)picture_info_hevc->weighted_pred_flag,
+ (uint32_t)picture_info_hevc->weighted_bipred_flag,
+ (uint32_t)picture_info_hevc->transquant_bypass_enabled_flag,
+ (uint32_t)picture_info_hevc->tiles_enabled_flag,
+ (uint32_t)picture_info_hevc->entropy_coding_sync_enabled_flag,
+ (uint32_t)picture_info_hevc->num_tile_columns_minus1,
+ (uint32_t)picture_info_hevc->num_tile_rows_minus1,
+ (uint32_t)picture_info_hevc->uniform_spacing_flag
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->column_width_minus1); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->column_width_minus1[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->row_height_minus1); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->row_height_minus1[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, %u, %u, %d, %d, %u, %u, %u, %u, %u, %u, %u, %u, %u, %u, %d, {",
+ (uint32_t)picture_info_hevc->loop_filter_across_tiles_enabled_flag,
+ (uint32_t)picture_info_hevc->pps_loop_filter_across_slices_enabled_flag,
+ (uint32_t)picture_info_hevc->deblocking_filter_control_present_flag,
+ (uint32_t)picture_info_hevc->deblocking_filter_override_enabled_flag,
+ (uint32_t)picture_info_hevc->pps_deblocking_filter_disabled_flag,
+ (int32_t)picture_info_hevc->pps_beta_offset_div2,
+ (int32_t)picture_info_hevc->pps_tc_offset_div2,
+ (uint32_t)picture_info_hevc->lists_modification_present_flag,
+ (uint32_t)picture_info_hevc->log2_parallel_merge_level_minus2,
+ (uint32_t)picture_info_hevc->slice_segment_header_extension_present_flag,
+ (uint32_t)picture_info_hevc->IDRPicFlag,
+ (uint32_t)picture_info_hevc->RAPPicFlag,
+ (uint32_t)picture_info_hevc->CurrRpsIdx,
+ (uint32_t)picture_info_hevc->NumPocTotalCurr,
+ (uint32_t)picture_info_hevc->NumDeltaPocsOfRefRpsIdx,
+ (uint32_t)picture_info_hevc->NumShortTermPictureSliceHeaderBits,
+ (uint32_t)picture_info_hevc->NumLongTermPictureSliceHeaderBits,
+ (int32_t)picture_info_hevc->CurrPicOrderCntVal
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPics); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->RefPics[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->PicOrderCntVal); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%d",
+ (i == 0) ? "" : ", ",
+ (int32_t)picture_info_hevc->PicOrderCntVal[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->IsLongTerm); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->IsLongTerm[i]
+ );
+ }
+ fputs("}, ", _vdp_cap_data.fp);
+ fprintf(
+ _vdp_cap_data.fp,
+ "%u, %u, %u, {",
+ (uint32_t)picture_info_hevc->NumPocStCurrBefore,
+ (uint32_t)picture_info_hevc->NumPocStCurrAfter,
+ (uint32_t)picture_info_hevc->NumPocLtCurr
+ );
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetStCurrBefore); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->RefPicSetStCurrBefore[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetStCurrAfter); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->RefPicSetStCurrAfter[i]
+ );
+ }
+ fputs("}, {", _vdp_cap_data.fp);
+ for (uint32_t i = 0; i < _VDP_TRACE_ARSIZE(picture_info_hevc->RefPicSetLtCurr); ++i) {
+ fprintf(
+ _vdp_cap_data.fp,
+ "%s%u",
+ (i == 0) ? "" : ", ",
+ (uint32_t)picture_info_hevc->RefPicSetLtCurr[i]
+ );
+ }
+ fputs("}}", _vdp_cap_data.fp);
+ }
+ break;
default:
fputs("{...}", _vdp_cap_data.fp);
break;
@@ -4558,13 +4797,13 @@
}
else {
_vdp_cap_data.level = 0;
- char const * vdpau_trace = getenv("VDPAU_TRACE");
+ char const * vdpau_trace = secure_getenv("VDPAU_TRACE");
if (vdpau_trace) {
_vdp_cap_data.level = atoi(vdpau_trace);
}
_vdp_cap_data.fp = 0;
- char const * vdpau_trace_file = getenv("VDPAU_TRACE_FILE");
+ char const * vdpau_trace_file = secure_getenv("VDPAU_TRACE_FILE");
if (vdpau_trace_file && strlen(vdpau_trace_file)) {
if (vdpau_trace_file[0] == '&') {
int fd = atoi(&vdpau_trace_file[1]);
1
0
Hello community,
here is the log from the commit of package python-keyring for openSUSE:Factory checked in at 2015-09-11 09:02:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keyring (Old)
and /work/SRC/openSUSE:Factory/.python-keyring.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keyring"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-keyring/python-keyring.changes 2015-05-19 23:16:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-keyring.new/python-keyring.changes 2015-09-11 09:02:49.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 7 08:40:56 UTC 2015 - dimstar(a)opensuse.org
+
+- Update to version 5.4:
+ + Prefer setuptools_scm to hgtools.
+- Replace python-hgtools BuildRequires with python-setuptools_scm,
+ following upstreams change back to setuptools_scm.
+- Add keyring-gnome-3.18.patch: Silence a warning: on GNOME 3.18,
+ it is mandatory to specify the version to be imported.
+
+-------------------------------------------------------------------
Old:
----
keyring-5.3.zip
New:
----
keyring-5.4.tar.gz
keyring-gnome-3.18.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keyring.spec ++++++
--- /var/tmp/diff_new_pack.XJui9v/_old 2015-09-11 09:02:50.000000000 +0200
+++ /var/tmp/diff_new_pack.XJui9v/_new 2015-09-11 09:02:50.000000000 +0200
@@ -17,18 +17,19 @@
Name: python-keyring
-Version: 5.3
+Version: 5.4
Release: 0
Url: https://bitbucket.org/kang/python-keyring-lib
Summary: Store and access your passwords safely
License: Python-2.0 and MIT
Group: Development/Languages/Python
-Source: https://pypi.python.org/packages/source/k/keyring/keyring-%{version}.zip
+Source: https://pypi.python.org/packages/source/k/keyring/keyring-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM keyring-gnome-3.18.patch dimstar(a)opensuse.org -- Silence a warning when run in GNOME 3.18: gi requires versioned imports now.
+Patch0: keyring-gnome-3.18.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
-BuildRequires: python-hgtools
BuildRequires: python-setuptools
-BuildRequires: unzip
+BuildRequires: python-setuptools_scm
# Test requirements:
BuildRequires: python-mock
BuildRequires: python-pytest
@@ -55,6 +56,7 @@
%prep
%setup -q -n keyring-%{version}
+%patch0 -p1
# For rpmlint warning: remove shebang from python library:
sed -i '/^#!/d' keyring/cli.py keyring/backends/_win_crypto.py
++++++ keyring-gnome-3.18.patch ++++++
Index: keyring-5.4/keyring/backends/Gnome.py
===================================================================
--- keyring-5.4.orig/keyring/backends/Gnome.py
+++ keyring-5.4/keyring/backends/Gnome.py
@@ -3,6 +3,7 @@ import os
try:
from gi import Repository
if Repository.get_default().enumerate_versions('GnomeKeyring'):
+ gi.require_version('GnomeKeyring', '1.0')
from gi.repository import GnomeKeyring
except ImportError:
pass
1
0
Hello community,
here is the log from the commit of package libxcb for openSUSE:Factory checked in at 2015-09-11 09:02:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxcb (Old)
and /work/SRC/openSUSE:Factory/.libxcb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxcb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxcb/libxcb.changes 2014-08-07 08:08:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libxcb.new/libxcb.changes 2015-09-11 09:02:40.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Sep 6 16:21:14 UTC 2015 - tobias.johannes.klausmann(a)mni.thm.de
+
+- Update to version 1.11.1:
+ This fixes some threading-related bugs with
+ xcb_wait_for_special_event() and adds 64-bit versions of
+ functions that work with sequence numbers.
+
+-------------------------------------------------------------------
Old:
----
libxcb-1.11.tar.bz2
New:
----
libxcb-1.11.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxcb.spec ++++++
--- /var/tmp/diff_new_pack.p1zKSq/_old 2015-09-11 09:02:41.000000000 +0200
+++ /var/tmp/diff_new_pack.p1zKSq/_new 2015-09-11 09:02:41.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libxcb
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: libxcb
%define lname libxcb1
-Version: 1.11
+Version: 1.11.1
Release: 0
Summary: X11 core protocol C library
License: MIT
++++++ libxcb-1.11.tar.bz2 -> libxcb-1.11.1.tar.bz2 ++++++
++++ 1906 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/NEWS new/libxcb-1.11.1/NEWS
--- old/libxcb-1.11/NEWS 2014-08-01 16:04:34.000000000 +0200
+++ new/libxcb-1.11.1/NEWS 2015-09-05 15:04:58.000000000 +0200
@@ -1,3 +1,8 @@
+Release 1.11.1 (2015-09-06)
+===========================
+* Expose 64-bit sequence numbers for XLib
+* Fix some hangs related to xcb_wait_for_special_event()
+
Release 1.11 (2014-08-01)
=========================
* Force structures with 64-bit fields to be packed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/build-aux/compile new/libxcb-1.11.1/build-aux/compile
--- old/libxcb-1.11/build-aux/compile 2014-08-01 16:05:01.000000000 +0200
+++ new/libxcb-1.11.1/build-aux/compile 2015-09-06 12:39:53.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/build-aux/missing new/libxcb-1.11.1/build-aux/missing
--- old/libxcb-1.11/build-aux/missing 2014-08-01 16:05:01.000000000 +0200
+++ new/libxcb-1.11.1/build-aux/missing 2015-09-06 12:39:54.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/build-aux/test-driver new/libxcb-1.11.1/build-aux/test-driver
--- old/libxcb-1.11/build-aux/test-driver 2014-08-01 16:05:02.000000000 +0200
+++ new/libxcb-1.11.1/build-aux/test-driver 2015-09-06 12:39:54.000000000 +0200
@@ -3,7 +3,7 @@
scriptversion=2013-07-13.22; # UTC
-# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+# Copyright (C) 2011-2014 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
@@ -106,11 +106,14 @@
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
+
if test $enable_hard_errors = no && test $estatus -eq 99; then
- estatus=1
+ tweaked_estatus=1
+else
+ tweaked_estatus=$estatus
fi
-case $estatus:$expect_failure in
+case $tweaked_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;;
@@ -119,6 +122,12 @@
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
# Report outcome to console.
echo "${col}${res}${std}: $test_name"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/configure.ac new/libxcb-1.11.1/configure.ac
--- old/libxcb-1.11/configure.ac 2014-08-01 16:04:34.000000000 +0200
+++ new/libxcb-1.11.1/configure.ac 2015-09-05 15:00:44.000000000 +0200
@@ -2,7 +2,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
-AC_INIT([libxcb],[1.11],
+AC_INIT([libxcb],[1.11.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xcb]
[libxcb])
AC_CONFIG_AUX_DIR([build-aux])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/src/xcb.h new/libxcb-1.11.1/src/xcb.h
--- old/libxcb-1.11/src/xcb.h 2014-07-30 13:02:30.000000000 +0200
+++ new/libxcb-1.11.1/src/xcb.h 2015-09-05 14:56:03.000000000 +0200
@@ -378,6 +378,26 @@
*/
void xcb_discard_reply(xcb_connection_t *c, unsigned int sequence);
+/**
+ * @brief Discards the reply for a request, given by a 64bit sequence number
+ * @param c: The connection to the X server.
+ * @param sequence: 64-bit sequence number as returned by xcb_send_request64().
+ *
+ * Discards the reply for a request. Additionally, any error generated
+ * by the request is also discarded (unless it was an _unchecked request
+ * and the error has already arrived).
+ *
+ * This function will not block even if the reply is not yet available.
+ *
+ * Note that the sequence really does have to come from xcb_send_request64();
+ * the cookie sequence number is defined as "unsigned" int and therefore
+ * not 64-bit on all platforms.
+ * This function is not designed to operate on socket-handoff replies.
+ *
+ * Unlike its xcb_discard_reply() counterpart, the given sequence number is not
+ * automatically "widened" to 64-bit.
+ */
+void xcb_discard_reply64(xcb_connection_t *c, uint64_t sequence);
/* xcb_ext.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/src/xcb_in.c new/libxcb-1.11.1/src/xcb_in.c
--- old/libxcb-1.11/src/xcb_in.c 2014-06-15 13:44:14.000000000 +0200
+++ new/libxcb-1.11.1/src/xcb_in.c 2015-09-05 14:56:51.000000000 +0200
@@ -97,6 +97,11 @@
struct reader_list *next;
} reader_list;
+typedef struct special_list {
+ xcb_special_event_t *se;
+ struct special_list *next;
+} special_list;
+
static void remove_finished_readers(reader_list **prev_reader, uint64_t completed)
{
while(*prev_reader && XCB_SEQUENCE_COMPARE((*prev_reader)->request, <=, completed))
@@ -475,6 +480,26 @@
}
}
+static void insert_special(special_list **prev_special, special_list *special, xcb_special_event_t *se)
+{
+ special->se = se;
+ special->next = *prev_special;
+ *prev_special = special;
+}
+
+static void remove_special(special_list **prev_special, special_list *special)
+{
+ while(*prev_special)
+ {
+ if(*prev_special == special)
+ {
+ *prev_special = (*prev_special)->next;
+ break;
+ }
+ prev_special = &(*prev_special)->next;
+ }
+}
+
static void *wait_for_reply(xcb_connection_t *c, uint64_t request, xcb_generic_error_t **e)
{
void *ret = 0;
@@ -523,6 +548,20 @@
return ret;
}
+void *xcb_wait_for_reply64(xcb_connection_t *c, uint64_t request, xcb_generic_error_t **e)
+{
+ void *ret;
+ if(e)
+ *e = 0;
+ if(c->has_error)
+ return 0;
+
+ pthread_mutex_lock(&c->iolock);
+ ret = wait_for_reply(c, request, e);
+ pthread_mutex_unlock(&c->iolock);
+ return ret;
+}
+
int *xcb_get_reply_fds(xcb_connection_t *c, void *reply, size_t reply_size)
{
return (int *) (&((char *) reply)[reply_size]);
@@ -595,6 +634,20 @@
pthread_mutex_unlock(&c->iolock);
}
+void xcb_discard_reply64(xcb_connection_t *c, uint64_t sequence)
+{
+ if(c->has_error)
+ return;
+
+ /* If an error occurred when issuing the request, fail immediately. */
+ if(!sequence)
+ return;
+
+ pthread_mutex_lock(&c->iolock);
+ discard_reply(c, sequence);
+ pthread_mutex_unlock(&c->iolock);
+}
+
int xcb_poll_for_reply(xcb_connection_t *c, unsigned int request, void **reply, xcb_generic_error_t **error)
{
int ret;
@@ -612,6 +665,23 @@
return ret;
}
+int xcb_poll_for_reply64(xcb_connection_t *c, uint64_t request, void **reply, xcb_generic_error_t **error)
+{
+ int ret;
+ if(c->has_error)
+ {
+ *reply = 0;
+ if(error)
+ *error = 0;
+ return 1; /* would not block */
+ }
+ assert(reply != 0);
+ pthread_mutex_lock(&c->iolock);
+ ret = poll_for_reply(c, request, reply, error);
+ pthread_mutex_unlock(&c->iolock);
+ return ret;
+}
+
xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t *c)
{
xcb_generic_event_t *ret;
@@ -705,17 +775,23 @@
xcb_generic_event_t *xcb_wait_for_special_event(xcb_connection_t *c,
xcb_special_event_t *se)
{
+ special_list special;
xcb_generic_event_t *event;
if(c->has_error)
return 0;
pthread_mutex_lock(&c->iolock);
+ insert_special(&c->in.special_waiters, &special, se);
+
/* get_special_event returns 0 on empty list. */
while(!(event = get_special_event(c, se)))
if(!_xcb_conn_wait(c, &se->special_event_cond, 0, 0))
break;
+ remove_special(&c->in.special_waiters, &special);
+
+ _xcb_in_wake_up_next_reader(c);
pthread_mutex_unlock(&c->iolock);
return event;
}
@@ -843,6 +919,8 @@
int pthreadret;
if(c->in.readers)
pthreadret = pthread_cond_signal(c->in.readers->data);
+ else if(c->in.special_waiters)
+ pthreadret = pthread_cond_signal(&c->in.special_waiters->se->special_event_cond);
else
pthreadret = pthread_cond_signal(&c->in.event_cond);
assert(pthreadret == 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/src/xcb_out.c new/libxcb-1.11.1/src/xcb_out.c
--- old/libxcb-1.11/src/xcb_out.c 2014-03-31 19:37:19.000000000 +0200
+++ new/libxcb-1.11.1/src/xcb_out.c 2015-09-05 14:56:03.000000000 +0200
@@ -177,7 +177,7 @@
return c->out.maximum_request_length.value;
}
-unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *req)
+uint64_t xcb_send_request64(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *req)
{
uint64_t request;
uint32_t prefix[2];
@@ -286,6 +286,12 @@
return request;
}
+/* request number are actually uint64_t internally but keep API compat with unsigned int */
+unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *req)
+{
+ return xcb_send_request64(c, flags, vector, req);
+}
+
void
xcb_send_fd(xcb_connection_t *c, int fd)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/src/xcbext.h new/libxcb-1.11.1/src/xcbext.h
--- old/libxcb-1.11/src/xcbext.h 2014-03-21 14:44:27.000000000 +0100
+++ new/libxcb-1.11.1/src/xcbext.h 2015-09-05 14:56:03.000000000 +0200
@@ -83,6 +83,30 @@
unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request);
/**
+ * @brief Send a request to the server, with 64-bit sequence number returned.
+ * @param c: The connection to the X server.
+ * @param flags: A combination of flags from the xcb_send_request_flags_t enumeration.
+ * @param vector: Data to send; must have two iovecs before start for internal use.
+ * @param request: Information about the request to be sent.
+ * @return The request's sequence number on success, 0 otherwise.
+ *
+ * This function sends a new request to the X server. The data of the request is
+ * given as an array of @c iovecs in the @p vector argument. The length of that
+ * array and the neccessary management information are given in the @p request
+ * argument.
+ *
+ * When this function returns, the request might or might not be sent already.
+ * Use xcb_flush() to make sure that it really was sent.
+ *
+ * Please note that this function is not the prefered way for sending requests.
+ * It's better to use the generated wrapper functions.
+ *
+ * Please note that xcb might use index -1 and -2 of the @p vector array internally,
+ * so they must be valid!
+ */
+uint64_t xcb_send_request64(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request);
+
+/**
* @brief Send a file descriptor to the server in the next call to xcb_send_request.
* @param c: The connection to the X server.
* @param fd: The file descriptor to send.
@@ -162,6 +186,21 @@
void *xcb_wait_for_reply(xcb_connection_t *c, unsigned int request, xcb_generic_error_t **e);
/**
+ * @brief Wait for the reply of a given request, with 64-bit sequence number
+ * @param c: The connection to the X server.
+ * @param request: 64-bit sequence number of the request as returned by xcb_send_request64().
+ * @param e: Location to store errors in, or NULL. Ignored for unchecked requests.
+ *
+ * Returns the reply to the given request or returns null in the event of
+ * errors. Blocks until the reply or error for the request arrives, or an I/O
+ * error occurs.
+ *
+ * Unlike its xcb_wait_for_reply() counterpart, the given sequence number is not
+ * automatically "widened" to 64-bit.
+ */
+void *xcb_wait_for_reply64(xcb_connection_t *c, uint64_t request, xcb_generic_error_t **e);
+
+/**
* @brief Poll for the reply of a given request.
* @param c: The connection to the X server.
* @param request: Sequence number of the request as returned by xcb_send_request().
@@ -174,6 +213,21 @@
int xcb_poll_for_reply(xcb_connection_t *c, unsigned int request, void **reply, xcb_generic_error_t **error);
/**
+ * @brief Poll for the reply of a given request, with 64-bit sequence number.
+ * @param c: The connection to the X server.
+ * @param request: 64-bit sequence number of the request as returned by xcb_send_request().
+ * @param reply: Location to store the reply in, must not be NULL.
+ * @param e: Location to store errors in, or NULL. Ignored for unchecked requests.
+ * @return 1 when the reply to the request was returned, else 0.
+ *
+ * Checks if the reply to the given request already received. Does not block.
+ *
+ * Unlike its xcb_poll_for_reply() counterpart, the given sequence number is not
+ * automatically "widened" to 64-bit.
+ */
+int xcb_poll_for_reply64(xcb_connection_t *c, uint64_t request, void **reply, xcb_generic_error_t **error);
+
+/**
* @brief Don't use this, only needed by the generated code.
* @param c: The connection to the X server.
* @param reply: A reply that was received from the server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.11/src/xcbint.h new/libxcb-1.11.1/src/xcbint.h
--- old/libxcb-1.11/src/xcbint.h 2014-06-15 13:44:08.000000000 +0200
+++ new/libxcb-1.11.1/src/xcbint.h 2015-09-05 14:56:51.000000000 +0200
@@ -142,6 +142,7 @@
struct event_list *events;
struct event_list **events_tail;
struct reader_list *readers;
+ struct special_list *special_waiters;
struct pending_reply *pending_replies;
struct pending_reply **pending_replies_tail;
1
0
Hello community,
here is the log from the commit of package font-util for openSUSE:Factory checked in at 2015-09-11 09:02:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/font-util (Old)
and /work/SRC/openSUSE:Factory/.font-util.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "font-util"
Changes:
--------
--- /work/SRC/openSUSE:Factory/font-util/font-util.changes 2015-03-19 20:36:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.font-util.new/font-util.changes 2015-09-11 09:02:20.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Sep 5 08:49:23 UTC 2015 - mpluskal(a)suse.com
+
+- Add gpg signature
+
+-------------------------------------------------------------------
New:
----
font-util-1.3.1.tar.bz2.sig
font-util.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ font-util.spec ++++++
--- /var/tmp/diff_new_pack.iGlY9f/_old 2015-09-11 09:02:22.000000000 +0200
+++ /var/tmp/diff_new_pack.iGlY9f/_new 2015-09-11 09:02:22.000000000 +0200
@@ -23,8 +23,10 @@
License: MIT
Group: System/X11/Fonts
Url: http://xorg.freedesktop.org/
-Source: http://xorg.freedesktop.org/archive/individual/font/%{name}-%{version}.tar.…
-Source1: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
+Source0: http://xorg.freedesktop.org/archive/individual/font/%{name}-%{version}.tar.…
+Source1: http://xorg.freedesktop.org/archive/individual/font/%{name}-%{version}.tar.…
+Source2: %{name}.keyring
+Source3: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
BuildRequires: pkgconfig
BuildRequires: pkgconfig(xorg-macros) >= 1.8
# Package was named xorg-x11-fonts-devel until 12.2
@@ -41,7 +43,7 @@
%prep
%setup -q
# see Bug 194720 for details
-cp %SOURCE1 map-JISX0201.1976-0
+cp %{SOURCE3} map-JISX0201.1976-0
%build
%configure --with-mapdir=%{_datadir}/fonts/util
1
0
Hello community,
here is the log from the commit of package cdrtools for openSUSE:Factory checked in at 2015-09-11 09:01:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cdrtools (Old)
and /work/SRC/openSUSE:Factory/.cdrtools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cdrtools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cdrtools/cdrtools.changes 2015-08-17 15:33:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cdrtools.new/cdrtools.changes 2015-09-11 09:01:57.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Aug 30 11:29:42 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 3.01
+* Final version
+
+-------------------------------------------------------------------
schily-libs.changes: same change
Old:
----
cdrtools-3.01a31.tar.bz2
New:
----
cdrtools-3.01.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cdrtools.spec ++++++
--- /var/tmp/diff_new_pack.1hzBDQ/_old 2015-09-11 09:01:59.000000000 +0200
+++ /var/tmp/diff_new_pack.1hzBDQ/_new 2015-09-11 09:01:59.000000000 +0200
@@ -17,16 +17,14 @@
Name: cdrtools
-Version: 3.01~a31
+Version: 3.01
Release: 0
-# Upstream confirms that 3.01aNN is intended to sort before 3.01
-%define sversion 3.01
Summary: Tools for recording CD/DVD/BluRay media
License: CDDL-1.0 and GPL-2.0 and GPL-2.0+ and BSD-2-Clause and BSD-3-Clause and HPND and ISC
Group: Productivity/Multimedia/CD/Record
Url: http://cdrtools.sourceforge.net/private/cdrecord.html
-Source: http://downloads.sf.net/cdrtools/cdrtools-3.01a31.tar.bz2
+Source: http://downloads.sf.net/cdrtools/cdrtools-3.01.tar.bz2
Source1: cdrecord.easy
Source2: cdrecord.secure
Source3: cdrecord.paranoid
@@ -115,7 +113,7 @@
ISO-9660/JOLIET/HFS/UDF hybrid filesystem.
%prep
-%setup -q -n %name-%sversion
+%setup -q
%patch -P 1 -p1
%build
++++++ schily-libs.spec ++++++
--- /var/tmp/diff_new_pack.1hzBDQ/_old 2015-09-11 09:01:59.000000000 +0200
+++ /var/tmp/diff_new_pack.1hzBDQ/_new 2015-09-11 09:01:59.000000000 +0200
@@ -17,15 +17,14 @@
Name: schily-libs
-Version: 3.01~a31
+Version: 3.01
Release: 0
-%define sversion 3.01
Summary: A collection of libraries to support cdrtools
License: CDDL-1.0 and GPL-2.0 and GPL-2.0+ and BSD-2-Clause and BSD-3-Clause and HPND and ISC
Group: Development/Libraries/C and C++
Url: http://cdrtools.sourceforge.net/private/cdrecord.html
-Source: http://downloads.sf.net/cdrtools/cdrtools-3.01a31.tar.bz2
+Source: http://downloads.sf.net/cdrtools/cdrtools-3.01.tar.bz2
Source7: pre_checkin.sh
Patch1: gcc48wa.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -93,7 +92,7 @@
This subpackage contains the manual pages to the library's functions.
%prep
-%setup -qn cdrtools-%sversion
+%setup -qn cdrtools-%version
%patch -P 1 -p1
%build
++++++ cdrtools-3.01a31.tar.bz2 -> cdrtools-3.01.tar.bz2 ++++++
++++ 6951 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package wireless-regdb for openSUSE:Factory checked in at 2015-09-11 09:01:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireless-regdb (Old)
and /work/SRC/openSUSE:Factory/.wireless-regdb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireless-regdb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wireless-regdb/wireless-regdb.changes 2015-04-03 14:32:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wireless-regdb.new/wireless-regdb.changes 2015-09-11 09:01:51.000000000 +0200
@@ -1,0 +2,5 @@
+Sun Sep 6 07:33:53 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 2015.07.20
+
+-------------------------------------------------------------------
Old:
----
wireless-regdb-2015.01.30.tar.xz
New:
----
wireless-regdb-2015.07.20.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wireless-regdb.spec ++++++
--- /var/tmp/diff_new_pack.ZUoZLM/_old 2015-09-11 09:01:52.000000000 +0200
+++ /var/tmp/diff_new_pack.ZUoZLM/_new 2015-09-11 09:01:52.000000000 +0200
@@ -17,7 +17,7 @@
Name: wireless-regdb
-Version: 2015.01.30
+Version: 2015.07.20
Release: 0
Summary: 802.11 regulatory domain database
License: ISC
++++++ wireless-regdb-2015.01.30.tar.xz -> wireless-regdb-2015.07.20.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wireless-regdb-2015.01.30/db.txt new/wireless-regdb-2015.07.20/db.txt
--- old/wireless-regdb-2015.01.30/db.txt 2015-01-30 15:23:35.000000000 +0100
+++ new/wireless-regdb-2015.07.20/db.txt 2015-07-20 16:09:23.000000000 +0200
@@ -85,7 +85,7 @@
# 60 gHz band channels 1-4, ref: Etsi En 302 567
(57000 - 66000 @ 2160), (40)
-country AU:
+country AU: DFS-ETSI
(2402 - 2482 @ 40), (20)
(5170 - 5250 @ 80), (17), AUTO-BW
(5250 - 5330 @ 80), (24), DFS, AUTO-BW
@@ -141,6 +141,12 @@
(5170 - 5250 @ 80), (20), AUTO-BW
(5250 - 5330 @ 80), (20), DFS, AUTO-BW
(5490 - 5710 @ 160), (27), DFS
+ # 5 gHz Short Range Devices, ref:
+ # Etsi EN 300 440-1
+ # Etsi EN 300 440-2
+ # http://crc.bg/files/_bg/Spisak_2015.pdf
+ # http://crc.bg/files/_bg/Pravila_2015_resh24.pdf
+ (5725 - 5875 @ 80), (14)
# 60 gHz band channels 1-4, ref: Etsi En 302 567
(57000 - 66000 @ 2160), (40)
@@ -210,7 +216,8 @@
(2402 - 2472 @ 40), (30)
(5170 - 5250 @ 80), (17), AUTO-BW
(5250 - 5330 @ 80), (24), DFS, AUTO-BW
- (5490 - 5730 @ 160), (24), DFS
+ (5490 - 5600 @ 80), (24), DFS
+ (5650 - 5730 @ 80), (24), DFS
(5735 - 5835 @ 80), (30)
# Source:
@@ -584,6 +591,9 @@
(5170 - 5250 @ 80), (20), AUTO-BW
(5250 - 5330 @ 80), (20), DFS, AUTO-BW
(5490 - 5710 @ 160), (23), DFS
+ # 60 GHz band channels 2-4 at 10mW,
+ # ref: http://www.arib.or.jp/english/html/overview/doc/1-STD-T74v1_1.pdf
+ (59000 - 66000 @ 2160), (10 mW)
country KE: DFS-JP
(2402 - 2482 @ 40), (20)
@@ -751,11 +761,12 @@
(5490 - 5730 @ 160), (24), DFS
(5735 - 5835 @ 80), (30)
-country MO:
- (2402 - 2482 @ 40), (20)
- (5170 - 5250 @ 40), (23)
- (5250 - 5330 @ 40), (23), DFS
- (5735 - 5835 @ 40), (30)
+country MO: DFS-FCC
+ (2402 - 2482 @ 40), (23)
+ (5170 - 5250 @ 80), (23), AUTO-BW
+ (5250 - 5330 @ 80), (23), DFS, AUTO-BW
+ (5490 - 5730 @ 160), (30), DFS
+ (5735 - 5835 @ 80), (30)
country MP: DFS-FCC
(2402 - 2472 @ 40), (30)
@@ -793,6 +804,14 @@
(5490 - 5730 @ 160), (24), DFS
(5735 - 5835 @ 80), (30)
+# Source:
+# http://www.cam.gov.mv/docs/tech_standards/TAM-TS-100-2004-WLAN.pdf
+country MV: DFS-ETSI
+ (2400 - 2483.5 @ 40), (100 mW)
+ (5150 - 5250 @ 80), (200 mW), AUTO-BW
+ (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW
+ (5725 - 5850 @ 80), (100 mW)
+
country MW: DFS-ETSI
(2402 - 2482 @ 40), (20)
(5170 - 5250 @ 80), (20), AUTO-BW
@@ -853,7 +872,7 @@
(5250 - 5330 @ 80), (20), DFS, AUTO-BW
(5735 - 5835 @ 80), (20)
-country NZ: DFS-FCC
+country NZ: DFS-ETSI
(2402 - 2482 @ 40), (30)
(5170 - 5250 @ 80), (17), AUTO-BW
(5250 - 5330 @ 80), (24), DFS, AUTO-BW
@@ -980,6 +999,8 @@
(5250 - 5330 @ 40), (20), DFS
(5650 - 5730 @ 40), (30), DFS
(5735 - 5835 @ 40), (30)
+ # 60 GHz band channels 1-4, ref: Changes to NLA 124_Order №129_22042015.pdf
+ (57000 - 66000 @ 2160), (40)
country RW: DFS-FCC
(2402 - 2482 @ 40), (20)
@@ -1134,8 +1155,7 @@
(2402 - 2472 @ 40), (30)
(5170 - 5250 @ 80), (17), AUTO-BW
(5250 - 5330 @ 80), (23), DFS, AUTO-BW
- (5490 - 5600 @ 80), (23), DFS
- (5650 - 5710 @ 40), (23), DFS
+ (5490 - 5730 @ 160), (23), DFS
(5735 - 5835 @ 80), (30)
# 60g band
# reference: http://cfr.regstoday.com/47cfr15.aspx#47_CFR_15p255
Files old/wireless-regdb-2015.01.30/regulatory.bin and new/wireless-regdb-2015.07.20/regulatory.bin differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wireless-regdb-2015.01.30/sha1sum.txt new/wireless-regdb-2015.07.20/sha1sum.txt
--- old/wireless-regdb-2015.01.30/sha1sum.txt 2015-01-30 15:23:35.000000000 +0100
+++ new/wireless-regdb-2015.07.20/sha1sum.txt 2015-07-20 16:09:23.000000000 +0200
@@ -1 +1 @@
-178692730098be80f8f1b16866a5ab9322e613f1 db.txt
+f6a69b5761eae54008e5efc2346570f58f71ea65 db.txt
1
0
Hello community,
here is the log from the commit of package sddm for openSUSE:Factory checked in at 2015-09-11 09:01:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
and /work/SRC/openSUSE:Factory/.sddm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2015-08-29 20:03:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sddm.new/sddm.changes 2015-09-11 09:01:45.000000000 +0200
@@ -1,0 +2,32 @@
+Sun Sep 6 08:12:52 UTC 2015 - hrvoje.senjan(a)gmail.com
+
+- Update to 0.12.0:
+ * SDDM now depends on Qt >= 5.3
+ * Display setup script is now killed if it hasn't finished
+ within 30 seconds.
+ * The Maldives non-free background has been replaced by a
+ CC-BY-SA alternative
+ * Wayland sessions support
+ * New sddm.conf option XephyrPath
+ (defaults to /usr/bin/Xephyr)
+ * new sddm.conf option ServerArguments
+ (defaults to -nolisten tcp)
+ * new sddm.config option DisplayStopCommand (executes Xstop)
+ * Assorted improvements to the default theme
+ * Honor TryExec in Xsession desktop files
+ * Fix session startup on zsh
+ * Allow setting a custom DBUS_CONFIG_FILENAME at compile time
+ * Allow SYSTEMD_SYSTEM_UNIT_DIR to be overridden at compile time
+ * Allow QT_IMPORTS_DIR to be overridden at compile time
+ * No longer hardcode min/max UIDs, allow setting
+ UID_MIN and UID_MAX at compile time
+ * Assorted FreeBSD fixes
+ * Fix build warnings with Qt 5.5.
+ * Enable QT_NO_CAST_FROM_ASCII
+ * Added Arabic
+ * Added Hungarian
+ * Various i18n updates and improvements
+ * Full right-to-left languages support.
+- Drop sddm-wait-for-display-script.patch, merged upstream
+
+-------------------------------------------------------------------
Old:
----
sddm-wait-for-display-script.patch
v0.11.0.tar.gz
New:
----
sddm-0.12.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -20,13 +20,13 @@
%{!?_unitdir: %global _unitdir /usr/lib/systemd/system}
Name: sddm
-Version: 0.11.0
+Version: 0.12.0
Release: 0
Summary: Lightweight QML-based display manager
License: GPL-2.0+
Group: System/GUI/KDE
Url: https://github.com/sddm/sddm
-Source: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
+Source: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{…
Source1: %{name}.conf
Source2: X11-displaymanagers-%{name}
# PATCH-FIX-OPENSUSE proper_pam.diff -- Use openSUSE pam config
@@ -42,8 +42,6 @@
# PATCH-FIX-OPENSUSE sddm-service-handle-plymouth.patch -- sddm has some rudimentary support for plymouth handling, which only works with plymouth-quit.service
# (the servce is not enabled on openSUSE). For users of sddm.service, we need to issue plymouth quit command by hand in this case
Patch4: sddm-service-handle-plymouth.patch
-# PATCH-FIX-OPENSUSE sddm-wait-for-display-script.patch -- From upstream: wait for the display script finishing, avoid a black screen (boo#942815)
-Patch5: sddm-wait-for-display-script.patch
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: kf5-filesystem
@@ -103,7 +101,6 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%build
%cmake \
++++++ create_pid_file.patch ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -1,17 +1,17 @@
diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in
-index f7e31e4..654331d 100644
+index b32b2e07687aecc545d18f47c28bb650a308e758..2be895e730da5affb2cd4f6052918a8ab4b2672a 100644
--- a/src/common/Constants.h.in
+++ b/src/common/Constants.h.in
-@@ -33,6 +33,7 @@
+@@ -34,6 +34,7 @@
#define CONFIG_FILE "@CONFIG_FILE@"
#define LOG_FILE "@LOG_FILE@"
+#define PID_FILE "@PID_FILE@"
#define MINIMUM_VT @MINIMUM_VT@
- #define HALT_COMMAND "@HALT_COMMAND@"
+ #define UID_MIN @UID_MIN@
diff --git a/src/daemon/DaemonApp.cpp b/src/daemon/DaemonApp.cpp
-index 662c0f4..c525efd 100644
+index ae8ae3b..ea2d0be 100644
--- a/src/daemon/DaemonApp.cpp
+++ b/src/daemon/DaemonApp.cpp
@@ -31,6 +31,7 @@
@@ -22,20 +22,19 @@
#include <iostream>
-@@ -46,6 +47,16 @@ namespace SDDM {
+@@ -46,6 +47,15 @@ namespace SDDM {
// log message
qDebug() << "Initializing...";
+ // Write PID File
-+ if ( ! QString(PID_FILE).isEmpty() ) {
-+ QFile pidFile(PID_FILE);
++ if ( ! QString(QStringLiteral(PID_FILE)).isEmpty() ) {
++ QFile pidFile(QStringLiteral(PID_FILE));
+ QString pid = QString::number(QCoreApplication::applicationPid());
+ if ( pidFile.open(QIODevice::WriteOnly | QIODevice::Text) ) {
+ pidFile.write(pid.toLatin1().data(), qstrlen(pid.toLatin1().data()));
+ pidFile.close();
+ }
+ }
-+
// set testing parameter
- m_testing = (arguments().indexOf("--test-mode") != -1);
+ m_testing = (arguments().indexOf(QStringLiteral("--test-mode")) != -1);
++++++ proper_pam.diff ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -1,5 +1,5 @@
diff --git a/services/sddm-autologin.pam b/services/sddm-autologin.pam
-index 2432b51..4fb3873 100755
+index 2432b51c94c23443012cb39d0da122af5c205f60..4fb3873a3fd347fc617843e7c2815411de39b120 100755
--- a/services/sddm-autologin.pam
+++ b/services/sddm-autologin.pam
@@ -1,11 +1,6 @@
@@ -20,7 +20,7 @@
+session required pam_loginuid.so
+session include common-session
diff --git a/services/sddm-greeter.pam b/services/sddm-greeter.pam
-index 44e209e..a9c2a89 100644
+index 44e209e9046109b3ad9312a23bc210d5cd3486ef..a9c2a89d04a1dc403a08b2e5b69e926107c4abb5 100644
--- a/services/sddm-greeter.pam
+++ b/services/sddm-greeter.pam
@@ -1,17 +1,7 @@
@@ -48,7 +48,7 @@
+session required pam_loginuid.so
+session include common-session
diff --git a/services/sddm.pam b/services/sddm.pam
-index bda5d80..d21651d 100755
+index bda5d8002668fb6d1c532924f020e81ff122ad2a..d21651db403edee92f3ca146e97374c43f440c6c 100755
--- a/services/sddm.pam
+++ b/services/sddm.pam
@@ -1,6 +1,6 @@
++++++ sddm-relaxed-auth.diff ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -1,17 +1,17 @@
diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
-index f10ad82..f7dddbb 100644
+index b40f718..e060928 100644
--- a/src/daemon/XorgDisplayServer.cpp
+++ b/src/daemon/XorgDisplayServer.cpp
-@@ -229,6 +229,7 @@ namespace SDDM {
+@@ -277,6 +277,7 @@ namespace SDDM {
// set process environment
QProcessEnvironment env;
- env.insert("DISPLAY", m_display);
-+ env.insert("XAUTHLOCALHOSTNAME", daemonApp->hostName());
- env.insert("HOME", "/");
- env.insert("PATH", mainConfig.Users.DefaultPath.get());
- env.insert("XAUTHORITY", m_authPath);
+ env.insert(QStringLiteral("DISPLAY"), m_display);
++ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), daemonApp->hostName());
+ env.insert(QStringLiteral("HOME"), QStringLiteral("/"));
+ env.insert(QStringLiteral("PATH"), mainConfig.Users.DefaultPath.get());
+ env.insert(QStringLiteral("XAUTHORITY"), m_authPath);
diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp
-index fc933f9..6cb6fa9 100644
+index 12facb9..a90cfb3 100644
--- a/src/helper/Backend.cpp
+++ b/src/helper/Backend.cpp
@@ -26,6 +26,7 @@
@@ -23,10 +23,10 @@
#include <pwd.h>
@@ -64,6 +65,7 @@ namespace SDDM {
- env.insert("LOGNAME", pw->pw_name);
- if (env.contains("DISPLAY") && !env.contains("XAUTHORITY"))
- env.insert("XAUTHORITY", QString("%1/.Xauthority").arg(pw->pw_dir));
-+ env.insert("XAUTHLOCALHOSTNAME", QHostInfo::localHostName());
+ env.insert(QStringLiteral("LOGNAME"), QString::fromLocal8Bit(pw->pw_name));
+ if (env.contains(QStringLiteral("DISPLAY")) && !env.contains(QStringLiteral("XAUTHORITY")))
+ env.insert(QStringLiteral("XAUTHORITY"), QStringLiteral("%1/.Xauthority").arg(QString::fromLocal8Bit(pw->pw_dir)));
++ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), QHostInfo::localHostName());
// TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate!
m_app->session()->setProcessEnvironment(env);
}
++++++ sddm-service-handle-plymouth.patch ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -1,5 +1,5 @@
diff --git a/services/sddm.service.in b/services/sddm.service.in
-index b0cea02..fffa5c2 100644
+index b0cea02128f949ceeadae2ecca61faf668ea8728..fffa5c2dfc37acafe1cab2528e3323fca665e699 100644
--- a/services/sddm.service.in
+++ b/services/sddm.service.in
@@ -6,6 +6,7 @@ After=systemd-user-sessions.service getty(a)tty1.service plymouth-quit.service
++++++ sysconfig-support.patch ++++++
--- /var/tmp/diff_new_pack.XCxTVd/_old 2015-09-11 09:01:46.000000000 +0200
+++ /var/tmp/diff_new_pack.XCxTVd/_new 2015-09-11 09:01:46.000000000 +0200
@@ -1,20 +1,20 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4d6e0a9d1bdb0742bf5ae23a522091f3f1d14dda..a2af8bb6559826252b8abe63217eca1cacb5d842 100644
+index 43796954d519fda27133dbaed6db50141b8ecf04..3071ea79ebaf9e5c20851f2c2512339f0f06f25c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -130,6 +130,7 @@ set(RUNTIME_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/sddm"
- set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession" CACHE PATH "Script to execute when starting the desktop session")
+@@ -151,6 +151,7 @@ set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession"
+ set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" CACHE PATH "Script to execute when starting the Wayland desktop session")
set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf" CACHE PATH "Path of the sddm config file")
+set(DYSPLAY_MANAGER_CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sysconfig/displaymanager" CACHE PATH "Path of the sysconfig/displaymanager config file")
set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/sddm.log" CACHE PATH "Path of the sddm log file")
+ set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the sddm config file")
set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory")
-
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
-index 72aa6f4..95447c1 100644
+index c9af1b72cd0faee069264719ff26cc7d7cba204c..076e856e5ca592bf1b3dcd48a6511fc2395159a8 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
-@@ -75,14 +75,14 @@ namespace SDDM {
+@@ -83,7 +83,7 @@ namespace SDDM {
);
Section(Autologin,
Entry(User, QString, QString(), _S("Autologin user"));
@@ -23,20 +23,12 @@
Entry(Relogin, bool, false, _S("Autologin again on session exit"));
);
);
-
- Config(StateConfig, []()->QString{auto tmp = getpwnam("sddm"); return tmp ? tmp->pw_dir : STATE_DIR;}().append("/state.conf"),
- Section(Last,
-- Entry(Session, QString, QString(), _S("Name of the session file of the last session selected. This session will be preselected when the login screen shows up."));
-+ Entry(Session, QString, _S("plasma5.desktop"), _S("Name of the session file of the last session selected. This session will be preselected when the login screen shows up."));
- Entry(User, QString, QString(), _S("Name of the last logged-in user. This username will be preselected/shown when the login screen shows up"));
- );
- );
diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in
-index 654331d6f22ce2c90ca510678cd137308c1000bd..9ca4b8c05f1d4b9a3533dbce83df0e12979a4809 100644
+index 2be895e730da5affb2cd4f6052918a8ab4b2672a..bb935503c08e8ad617f83f9df73d5c7703737686 100644
--- a/src/common/Constants.h.in
+++ b/src/common/Constants.h.in
-@@ -32,6 +32,7 @@
- #define SESSION_COMMAND "@SESSION_COMMAND@"
+@@ -33,6 +33,7 @@
+ #define WAYLAND_SESSION_COMMAND "@WAYLAND_SESSION_COMMAND@"
#define CONFIG_FILE "@CONFIG_FILE@"
+#define DYSPLAY_MANAGER_CONFIG_FILE "@DYSPLAY_MANAGER_CONFIG_FILE@"
@@ -44,23 +36,23 @@
#define PID_FILE "@PID_FILE@"
#define MINIMUM_VT @MINIMUM_VT@
diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
-index 87d0cc37c0f97b801ba1b7ffd1dd534e9fe92875..2f15cc62976d661977905f9964a1a558facc126c 100644
+index 2b76c6dbe64b3d35a0e6b1849cf10c250ead5f53..0d62358dc515826d18d9eb825a83149cf268ee9d 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -35,6 +35,7 @@
- #include <QDir>
+ #include <QDebug>
#include <QFile>
#include <QTimer>
+#include <QSettings>
#include <pwd.h>
#include <unistd.h>
-@@ -113,8 +114,19 @@ namespace SDDM {
+@@ -114,8 +115,19 @@ namespace SDDM {
// log message
qDebug() << "Display server started.";
-+ QSettings sysconfSettings(DYSPLAY_MANAGER_CONFIG_FILE, QSettings::NativeFormat);
-+ QString sysconfigUser = sysconfSettings.value("DISPLAYMANAGER_AUTOLOGIN", "").toString();
++ QSettings sysconfSettings(QStringLiteral(DYSPLAY_MANAGER_CONFIG_FILE), QSettings::NativeFormat);
++ QString sysconfigUser = sysconfSettings.value(QStringLiteral("DISPLAYMANAGER_AUTOLOGIN"), QStringLiteral("")).toString();
+
+ if (!sysconfigUser.isEmpty()) {
+ mainConfig.Autologin.User.set(sysconfigUser);
1
0
Hello community,
here is the log from the commit of package pciutils for openSUSE:Factory checked in at 2015-09-11 09:01:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pciutils (Old)
and /work/SRC/openSUSE:Factory/.pciutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pciutils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pciutils/pciutils.changes 2014-11-24 11:18:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pciutils.new/pciutils.changes 2015-09-11 09:01:38.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Sep 6 07:41:51 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 3.3.1
+ * Removed hacks for backward compatibility with Linux libc5,
+ which were breaking newer non-glibc Linux systems. Thanks
+ to Felix Janda.
+ * Display VirtIO vendor-specific capability. Patch by Gerd
+ Hoffmann.
+ * Fixed memory leak in name cache.
+ * Updated pci.ids to the current snapshot of the database.
+
+
+-------------------------------------------------------------------
Old:
----
pciutils-3.3.0.tar.xz
New:
----
pciutils-3.3.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pciutils.spec ++++++
--- /var/tmp/diff_new_pack.X31K1M/_old 2015-09-11 09:01:40.000000000 +0200
+++ /var/tmp/diff_new_pack.X31K1M/_new 2015-09-11 09:01:40.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pciutils
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define lname libpci3
Name: pciutils
-Version: 3.3.0
+Version: 3.3.1
Release: 0
Summary: PCI utilities for Kernel version 2
License: GPL-2.0+
++++++ pciutils-3.1.9_pkgconfig.patch ++++++
--- /var/tmp/diff_new_pack.X31K1M/_old 2015-09-11 09:01:40.000000000 +0200
+++ /var/tmp/diff_new_pack.X31K1M/_new 2015-09-11 09:01:40.000000000 +0200
@@ -1,6 +1,8 @@
---- pciutils-3.1.9.orig/lib/libpci.pc.in 2011-10-02 05:52:11.000000000 -0400
-+++ pciutils-3.1.9/lib/libpci.pc.in 2012-01-28 20:50:44.702715889 -0500
-@@ -6,6 +6,5 @@
+Index: pciutils-3.3.1/lib/libpci.pc.in
+===================================================================
+--- pciutils-3.3.1.orig/lib/libpci.pc.in
++++ pciutils-3.3.1/lib/libpci.pc.in
+@@ -6,6 +6,5 @@ idsdir=@IDSDIR@
Name: libpci
Description: libpci
Version: @VERSION@
++++++ pciutils-3.2.0_update-dist.patch ++++++
--- /var/tmp/diff_new_pack.X31K1M/_old 2015-09-11 09:01:40.000000000 +0200
+++ /var/tmp/diff_new_pack.X31K1M/_new 2015-09-11 09:01:40.000000000 +0200
@@ -1,7 +1,8 @@
-diff -aur pciutils-3.2.0.orig//Makefile pciutils-3.2.0/Makefile
---- pciutils-3.2.0.orig//Makefile 2013-04-19 14:58:49.000000000 +0200
-+++ pciutils-3.2.0/Makefile 2013-07-30 23:03:04.385436935 +0200
-@@ -85,7 +85,7 @@
+Index: pciutils-3.3.1/Makefile
+===================================================================
+--- pciutils-3.3.1.orig/Makefile
++++ pciutils-3.3.1/Makefile
+@@ -88,7 +88,7 @@ lspci: LDLIBS+=$(LIBKMOD_LIBS)
ls-kernel.o: CFLAGS+=$(LIBKMOD_CFLAGS)
update-pciids: update-pciids.sh
@@ -10,9 +11,10 @@
chmod +x $@
# The example of use of libpci
-diff -aur pciutils-3.1.9.orig/update-pciids.sh pciutils-3.1.9/update-pciids.sh
---- pciutils-3.1.9.orig/update-pciids.sh 2012-01-14 09:29:38.000000000 -0500
-+++ pciutils-3.1.9/update-pciids.sh 2012-01-28 21:05:57.719301612 -0500
+Index: pciutils-3.3.1/update-pciids.sh
+===================================================================
+--- pciutils-3.3.1.orig/update-pciids.sh
++++ pciutils-3.3.1/update-pciids.sh
@@ -4,7 +4,7 @@
set -e
@@ -22,7 +24,7 @@
PCI_COMPRESSED_IDS=
GREP=grep
-@@ -66,6 +66,13 @@
+@@ -66,6 +66,13 @@ fi
mv $DEST.neww $DEST
rm $DEST.new
++++++ pciutils-3.3.0.tar.xz -> pciutils-3.3.1.tar.xz ++++++
++++ 2349 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libgxps for openSUSE:Factory checked in at 2015-09-11 09:01:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgxps (Old)
and /work/SRC/openSUSE:Factory/.libgxps.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgxps"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libgxps/libgxps.changes 2015-08-17 17:26:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libgxps.new/libgxps.changes 2015-09-11 09:01:31.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 4 18:17:35 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 0.2.3.2:
+ + Follow up release to fix the build in some cases due to libm
+ undefined symbols.
+
+-------------------------------------------------------------------
Old:
----
libgxps-0.2.3.1.tar.xz
New:
----
libgxps-0.2.3.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libgxps.spec ++++++
--- /var/tmp/diff_new_pack.jqYpSZ/_old 2015-09-11 09:01:32.000000000 +0200
+++ /var/tmp/diff_new_pack.jqYpSZ/_new 2015-09-11 09:01:32.000000000 +0200
@@ -17,7 +17,7 @@
Name: libgxps
-Version: 0.2.3.1
+Version: 0.2.3.2
Release: 0
Summary: Library for rendering XPS documents
License: LGPL-2.1+
++++++ libgxps-0.2.3.1.tar.xz -> libgxps-0.2.3.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/ChangeLog new/libgxps-0.2.3.2/ChangeLog
--- old/libgxps-0.2.3.1/ChangeLog 2015-08-14 17:48:01.000000000 +0200
+++ new/libgxps-0.2.3.2/ChangeLog 2015-09-04 10:06:39.000000000 +0200
@@ -1,6 +1,25 @@
+commit 407e02691ba3e885f5f0b7e7b4163eb7d6080995
+Author: Jason Crain <jason(a)aquaticape.us>
+Date: 2015-08-20
+
+ build: link libgxps with -lm
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=753771
+
+M libgxps/Makefile.am
+
+commit b62ce7ec2845203eedc48347075175584ae364a3
+Author: Carlos Garcia Campos <carlosgc(a)gnome.org>
+Date: 2015-08-14
+
+ release: 0.2.3.1
+
+M NEWS
+M configure.ac
+
commit 883b607bf8a06f6e1b84d1c5967a6a90d60470a9
Author: Carlos Garcia Campos <carlosgc(a)gnome.org>
-Date: 2015-08-13
+Date: 2015-08-13
build: Explicitly link to libpng
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/NEWS new/libgxps-0.2.3.2/NEWS
--- old/libgxps-0.2.3.1/NEWS 2015-08-14 17:46:49.000000000 +0200
+++ new/libgxps-0.2.3.2/NEWS 2015-09-04 10:05:43.000000000 +0200
@@ -1,3 +1,10 @@
+libgxps 0.2.3.2 (4 September 2015)
+==================================
+
+This is another follow up release to fix the build in some cases due
+to libm undefined symbols.
+
+
libgxps 0.2.3.1 (14 August 2015)
================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/configure new/libgxps-0.2.3.2/configure
--- old/libgxps-0.2.3.1/configure 2015-08-14 17:47:17.000000000 +0200
+++ new/libgxps-0.2.3.2/configure 2015-09-04 10:06:27.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libgxps 0.2.3.1.
+# Generated by GNU Autoconf 2.69 for libgxps 0.2.3.2.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=libgxps>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='libgxps'
PACKAGE_TARNAME='libgxps'
-PACKAGE_VERSION='0.2.3.1'
-PACKAGE_STRING='libgxps 0.2.3.1'
+PACKAGE_VERSION='0.2.3.2'
+PACKAGE_STRING='libgxps 0.2.3.2'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=libgxps'
PACKAGE_URL=''
@@ -1424,7 +1424,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libgxps 0.2.3.1 to adapt to many kinds of systems.
+\`configure' configures libgxps 0.2.3.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1494,7 +1494,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libgxps 0.2.3.1:";;
+ short | recursive ) echo "Configuration of libgxps 0.2.3.2:";;
esac
cat <<\_ACEOF
@@ -1652,7 +1652,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libgxps configure 0.2.3.1
+libgxps configure 0.2.3.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2021,7 +2021,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libgxps $as_me 0.2.3.1, which was
+It was created by libgxps $as_me 0.2.3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2884,7 +2884,7 @@
# Define the identity of the package.
PACKAGE='libgxps'
- VERSION='0.2.3.1'
+ VERSION='0.2.3.2'
cat >>confdefs.h <<_ACEOF
@@ -15608,7 +15608,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libgxps $as_me 0.2.3.1, which was
+This file was extended by libgxps $as_me 0.2.3.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15674,7 +15674,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libgxps config.status 0.2.3.1
+libgxps config.status 0.2.3.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/configure.ac new/libgxps-0.2.3.2/configure.ac
--- old/libgxps-0.2.3.1/configure.ac 2015-08-14 17:44:49.000000000 +0200
+++ new/libgxps-0.2.3.2/configure.ac 2015-09-04 10:04:20.000000000 +0200
@@ -5,7 +5,7 @@
m4_define([gxps_major_version],[0])
m4_define([gxps_minor_version],[2])
m4_define([gxps_micro_version],[3])
-m4_define([gxps_extra_version],[1])
+m4_define([gxps_extra_version],[2])
m4_define([gxps_version],[gxps_major_version.gxps_minor_version.gxps_micro_version.gxps_extra_version])
# Libtool versioning. The backend and view libraries have separate versions.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/docs/reference/html/api-index-full.html new/libgxps-0.2.3.2/docs/reference/html/api-index-full.html
--- old/libgxps-0.2.3.1/docs/reference/html/api-index-full.html 2015-08-14 17:48:02.000000000 +0200
+++ new/libgxps-0.2.3.2/docs/reference/html/api-index-full.html 2015-09-04 10:06:39.000000000 +0200
@@ -174,11 +174,11 @@
<dd></dd>
<a name="idxE"></a><h3 class="title">E</h3>
<dt>
-<a class="link" href="libgxps-GXPSError.html#GXPSError" title="enum GXPSError">GXPSError</a>, enum in <a class="link" href="libgxps-GXPSError.html" title="GXPSError">GXPSError</a>
+<a class="link" href="libgxps-GXPSError.html#GXPS-ERROR:CAPS" title="GXPS_ERROR">GXPS_ERROR</a>, macro in <a class="link" href="libgxps-GXPSError.html" title="GXPSError">GXPSError</a>
</dt>
<dd></dd>
<dt>
-<a class="link" href="libgxps-GXPSError.html#GXPS-ERROR:CAPS" title="GXPS_ERROR">GXPS_ERROR</a>, macro in <a class="link" href="libgxps-GXPSError.html" title="GXPSError">GXPSError</a>
+<a class="link" href="libgxps-GXPSError.html#GXPSError" title="enum GXPSError">GXPSError</a>, enum in <a class="link" href="libgxps-GXPSError.html" title="GXPSError">GXPSError</a>
</dt>
<dd></dd>
<a name="idxF"></a><h3 class="title">F</h3>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/docs/reference/html/index.html new/libgxps-0.2.3.2/docs/reference/html/index.html
--- old/libgxps-0.2.3.1/docs/reference/html/index.html 2015-08-14 17:48:02.000000000 +0200
+++ new/libgxps-0.2.3.2/docs/reference/html/index.html 2015-09-04 10:06:39.000000000 +0200
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GXPS Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for libgxps 0.2.3.1
+ for libgxps 0.2.3.2
</p></div>
</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/docs/reference/html/libgxps-Version-Information.html new/libgxps-0.2.3.2/docs/reference/html/libgxps-Version-Information.html
--- old/libgxps-0.2.3.1/docs/reference/html/libgxps-Version-Information.html 2015-08-14 17:48:02.000000000 +0200
+++ new/libgxps-0.2.3.2/docs/reference/html/libgxps-Version-Information.html 2015-09-04 10:06:39.000000000 +0200
@@ -153,7 +153,7 @@
<a name="libgxps-Version-Information.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GXPS-VERSION-STRING:CAPS"></a><h3>GXPS_VERSION_STRING</h3>
-<pre class="programlisting">#define GXPS_VERSION_STRING "0.2.3.1"
+<pre class="programlisting">#define GXPS_VERSION_STRING "0.2.3.2"
</pre>
<p>The version number of the GXPS library as a string</p>
<p class="since">Since 0.2.1</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/docs/reference/version.xml new/libgxps-0.2.3.2/docs/reference/version.xml
--- old/libgxps-0.2.3.1/docs/reference/version.xml 2015-08-14 17:47:21.000000000 +0200
+++ new/libgxps-0.2.3.2/docs/reference/version.xml 2015-09-04 10:06:31.000000000 +0200
@@ -1 +1 @@
-0.2.3.1
+0.2.3.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/install-sh new/libgxps-0.2.3.2/install-sh
--- old/libgxps-0.2.3.1/install-sh 2015-08-14 17:47:18.000000000 +0200
+++ new/libgxps-0.2.3.2/install-sh 2015-09-04 10:06:28.000000000 +0200
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
+ # $RANDOM is not portable (e.g. dash); use it when possible to
+ # lower collision chance
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+ # As "mkdir -p" follows symlinks and we work in /tmp possibly; so
+ # create the $tmpdir first (and fail if unsuccessful) to make sure
+ # that nobody tries to guess the $tmpdir name.
if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
- rmdir "$tmpdir/d" "$tmpdir"
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/libgxps/Makefile.am new/libgxps-0.2.3.2/libgxps/Makefile.am
--- old/libgxps-0.2.3.1/libgxps/Makefile.am 2015-08-14 17:43:57.000000000 +0200
+++ new/libgxps-0.2.3.2/libgxps/Makefile.am 2015-09-04 10:01:48.000000000 +0200
@@ -76,6 +76,7 @@
$(LCMS2_LIBS) \
$(LIBPNG_LIBS) \
$(LIBJPEG) \
+ $(LIBM) \
$(LIBTIFF)
EXTRA_DIST = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/libgxps/Makefile.in new/libgxps-0.2.3.2/libgxps/Makefile.in
--- old/libgxps-0.2.3.1/libgxps/Makefile.in 2015-08-14 17:47:18.000000000 +0200
+++ new/libgxps-0.2.3.2/libgxps/Makefile.in 2015-09-04 10:06:28.000000000 +0200
@@ -139,7 +139,7 @@
am__DEPENDENCIES_1 =
libgxps_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am__objects_1 =
am_libgxps_la_OBJECTS = libgxps_la-gxps-archive.lo \
libgxps_la-gxps-brush.lo libgxps_la-gxps-color.lo \
@@ -463,6 +463,7 @@
$(LCMS2_LIBS) \
$(LIBPNG_LIBS) \
$(LIBJPEG) \
+ $(LIBM) \
$(LIBTIFF)
EXTRA_DIST = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libgxps-0.2.3.1/libgxps/gxps-version.h new/libgxps-0.2.3.2/libgxps/gxps-version.h
--- old/libgxps-0.2.3.1/libgxps/gxps-version.h 2015-08-14 17:47:21.000000000 +0200
+++ new/libgxps-0.2.3.2/libgxps/gxps-version.h 2015-09-04 10:06:31.000000000 +0200
@@ -64,7 +64,7 @@
*
* Since: 0.2.1
*/
-#define GXPS_VERSION_STRING "0.2.3.1"
+#define GXPS_VERSION_STRING "0.2.3.2"
/**
* GXPS_CHECK_VERSION:
1
0
Hello community,
here is the log from the commit of package iw for openSUSE:Factory checked in at 2015-09-11 09:01:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iw (Old)
and /work/SRC/openSUSE:Factory/.iw.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iw"
Changes:
--------
--- /work/SRC/openSUSE:Factory/iw/iw.changes 2015-04-06 00:25:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.iw.new/iw.changes 2015-09-11 09:01:25.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Sep 5 09:12:33 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 4.1
+ * Support all new kernel features upto 4.1
+
+-------------------------------------------------------------------
Old:
----
iw-4.0.tar.xz
New:
----
iw-4.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iw.spec ++++++
--- /var/tmp/diff_new_pack.hnEC5z/_old 2015-09-11 09:01:26.000000000 +0200
+++ /var/tmp/diff_new_pack.hnEC5z/_new 2015-09-11 09:01:26.000000000 +0200
@@ -17,7 +17,7 @@
Name: iw
-Version: 4.0
+Version: 4.1
Release: 0
Summary: Configuration utility for nl80211 based wireless drivers
License: ISC
++++++ iw-4.0.tar.xz -> iw-4.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/event.c new/iw-4.1/event.c
--- old/iw-4.0/event.c 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/event.c 2015-05-05 14:15:14.000000000 +0200
@@ -359,6 +359,15 @@
}
printf("\n");
break;
+ case NL80211_CMD_START_SCHED_SCAN:
+ printf("scheduled scan started\n");
+ break;
+ case NL80211_CMD_SCHED_SCAN_STOPPED:
+ printf("sched scan stopped\n");
+ break;
+ case NL80211_CMD_SCHED_SCAN_RESULTS:
+ printf("got scheduled scan results\n");
+ break;
case NL80211_CMD_REG_CHANGE:
printf("regulatory domain change: ");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/info.c new/iw-4.1/info.c
--- old/iw-4.0/info.c 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/info.c 2015-05-05 14:15:14.000000000 +0200
@@ -63,6 +63,18 @@
}
}
+static int ext_feature_isset(const unsigned char *ext_features, int ext_features_len,
+ enum nl80211_ext_feature_index ftidx)
+{
+ unsigned char ft_byte;
+
+ if ((int) ftidx / 8 >= ext_features_len)
+ return 0;
+
+ ft_byte = ext_features[ftidx / 8];
+ return (ft_byte & BIT(ftidx % 8)) != 0;
+}
+
static int print_phy_handler(struct nl_msg *msg, void *arg)
{
struct nlattr *tb_msg[NL80211_ATTR_MAX + 1];
@@ -232,6 +244,12 @@
if (tb_msg[NL80211_ATTR_MAX_SCAN_IE_LEN])
printf("\tmax scan IEs length: %d bytes\n",
nla_get_u16(tb_msg[NL80211_ATTR_MAX_SCAN_IE_LEN]));
+ if (tb_msg[NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS])
+ printf("\tmax # sched scan SSIDs: %d\n",
+ nla_get_u8(tb_msg[NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS]));
+ if (tb_msg[NL80211_ATTR_MAX_MATCH_SETS])
+ printf("\tmax # match sets: %d\n",
+ nla_get_u8(tb_msg[NL80211_ATTR_MAX_MATCH_SETS]));
if (tb_msg[NL80211_ATTR_WIPHY_FRAG_THRESHOLD]) {
unsigned int frag;
@@ -595,6 +613,14 @@
printf("\tDevice supports TDLS channel switching\n");
}
+ if (tb_msg[NL80211_ATTR_EXT_FEATURES]) {
+ struct nlattr *tb = tb_msg[NL80211_ATTR_EXT_FEATURES];
+
+ if (ext_feature_isset(nla_data(tb), nla_len(tb),
+ NL80211_EXT_FEATURE_VHT_IBSS))
+ printf("\tDevice supports VHT-IBSS.\n");
+ }
+
if (tb_msg[NL80211_ATTR_TDLS_SUPPORT])
printf("\tDevice supports T-DLS.\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/iw.h new/iw-4.1/iw.h
--- old/iw-4.0/iw.h 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/iw.h 2015-05-05 14:15:14.000000000 +0200
@@ -173,6 +173,10 @@
void parse_bitrate(struct nlattr *bitrate_attr, char *buf, int buflen);
void iw_hexdump(const char *prefix, const __u8 *data, size_t len);
+#define SCHED_SCAN_OPTIONS "interval <in_msecs> [delay <in_secs>] " \
+ "[freqs <freq>+] [matches [ssid <ssid>]+]] [active [ssid <ssid>]+|passive] [randomise[=<addr>/<mask>]]"
+int parse_sched_scan(struct nl_msg *msg, int *argc, char ***argv);
+
DECLARE_SECTION(set);
DECLARE_SECTION(get);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/nl80211.h new/iw-4.1/nl80211.h
--- old/iw-4.0/nl80211.h 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/nl80211.h 2015-05-05 14:15:14.000000000 +0200
@@ -25,6 +25,19 @@
*
*/
+/*
+ * This header file defines the userspace API to the wireless stack. Please
+ * be careful not to break things - i.e. don't move anything around or so
+ * unless you can demonstrate that it breaks neither API nor ABI.
+ *
+ * Additions to the API should be accompanied by actual implementations in
+ * an upstream driver, so that example implementations exist in case there
+ * are ever concerns about the precise semantics of the API or changes are
+ * needed, and to ensure that code for dead (no longer implemented) API
+ * can actually be identified and removed.
+ * Nonetheless, semantics should also be documented carefully in this file.
+ */
+
#include <linux/types.h>
#define NL80211_GENL_NAME "nl80211"
@@ -1684,6 +1697,10 @@
* If set during scheduled scan start then the new scan req will be
* owned by the netlink socket that created it and the scheduled scan will
* be stopped when the socket is closed.
+ * If set during configuration of regulatory indoor operation then the
+ * regulatory indoor configuration would be owned by the netlink socket
+ * that configured the indoor setting, and the indoor operation would be
+ * cleared when the socket is closed.
*
* @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
* the TDLS link initiator.
@@ -1737,8 +1754,12 @@
* should be contained in the result as the sum of the respective counters
* over all channels.
*
- * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a
- * WoWLAN net-detect scan) is started, u32 in seconds.
+ * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
+ * scheduled scan (or a WoWLAN net-detect scan) is started, u32
+ * in seconds.
+
+ * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
+ * is operating in an indoor environment.
*
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
@@ -2107,6 +2128,8 @@
NL80211_ATTR_SCHED_SCAN_DELAY,
+ NL80211_ATTR_REG_INDOOR,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
@@ -3092,7 +3115,8 @@
*
* @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've
* established peering with for longer than this time (in seconds), then
- * remove it from the STA's list of peers. Default is 30 minutes.
+ * remove it from the STA's list of peers. You may set this to 0 to disable
+ * the removal of the STA. Default is 30 minutes.
*
* @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
*/
@@ -3694,6 +3718,8 @@
* @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put
* the chip into a special state -- works best with chips that have
* support for low-power operation already (flag)
+ * Note that this mode is incompatible with all of the others, if
+ * any others are even supported by the device.
* @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect
* is detected is implementation-specific (flag)
* @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed
@@ -4327,11 +4353,13 @@
/**
* enum nl80211_ext_feature_index - bit index of extended features.
+ * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
*
* @NUM_NL80211_EXT_FEATURES: number of extended features.
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
*/
enum nl80211_ext_feature_index {
+ NL80211_EXT_FEATURE_VHT_IBSS,
/* add new features before the definition below */
NUM_NL80211_EXT_FEATURES,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/scan.c new/iw-4.1/scan.c
--- old/iw-4.0/scan.c 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/scan.c 2015-05-05 14:15:14.000000000 +0200
@@ -99,6 +99,243 @@
return -ENOBUFS;
}
+int parse_sched_scan(struct nl_msg *msg, int *argc, char ***argv)
+{
+ struct nl_msg *matchset = NULL, *freqs = NULL, *ssids = NULL;
+ struct nlattr *match = NULL;
+ enum {
+ ND_TOPLEVEL,
+ ND_MATCH,
+ ND_FREQS,
+ ND_ACTIVE,
+ } parse_state = ND_TOPLEVEL;
+ int c = *argc;
+ char *end, **v = *argv;
+ int err = 0, i = 0;
+ unsigned int freq, interval = 0, delay = 0;
+ bool have_matchset = false, have_freqs = false, have_ssids = false;
+ bool have_active = false, have_passive = false;
+ uint32_t flags = 0;
+
+ matchset = nlmsg_alloc();
+ if (!matchset) {
+ err = -ENOBUFS;
+ goto out;
+ }
+
+ freqs = nlmsg_alloc();
+ if (!freqs) {
+ err = -ENOBUFS;
+ goto out;
+ }
+
+ ssids = nlmsg_alloc();
+ if (!ssids) {
+ err = -ENOMEM;
+ goto out;
+ }
+
+ while (c) {
+ switch (parse_state) {
+ case ND_TOPLEVEL:
+ if (!strcmp(v[0], "interval")) {
+ c--; v++;
+ if (c == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ if (interval) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+ interval = strtoul(v[0], &end, 10);
+ if (*end || !interval) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+ NLA_PUT_U32(msg,
+ NL80211_ATTR_SCHED_SCAN_INTERVAL,
+ interval);
+ } else if (!strcmp(v[0], "delay")) {
+ c--; v++;
+ if (c == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ if (delay) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+ delay = strtoul(v[0], &end, 10);
+ if (*end) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+ NLA_PUT_U32(msg,
+ NL80211_ATTR_SCHED_SCAN_DELAY,
+ delay);
+ } else if (!strcmp(v[0], "matches")) {
+ parse_state = ND_MATCH;
+ if (have_matchset) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ i = 0;
+ } else if (!strcmp(v[0], "freqs")) {
+ parse_state = ND_FREQS;
+ if (have_freqs) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ have_freqs = true;
+ i = 0;
+ } else if (!strcmp(v[0], "active")) {
+ parse_state = ND_ACTIVE;
+ if (have_active || have_passive) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ have_active = true;
+ i = 0;
+ } else if (!strcmp(v[0], "passive")) {
+ if (have_active || have_passive) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ have_passive = true;
+ } else if (!strncmp(v[0], "randomise", 9) ||
+ !strncmp(v[0], "randomize", 9)) {
+ flags |= NL80211_SCAN_FLAG_RANDOM_ADDR;
+ if (c > 0) {
+ err = parse_random_mac_addr(msg, v[0]);
+ if (err)
+ goto nla_put_failure;
+ }
+ } else {
+ /* this element is not for us, so
+ * return to continue parsing.
+ */
+ goto nla_put_failure;
+ }
+ c--; v++;
+
+ break;
+ case ND_MATCH:
+ if (!strcmp(v[0], "ssid")) {
+ c--; v++;
+ if (c == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ /* TODO: for now we can only have an
+ * SSID in the match, so we can start
+ * the match nest here.
+ */
+ match = nla_nest_start(matchset, i);
+ if (!match) {
+ err = -ENOBUFS;
+ goto nla_put_failure;
+ }
+
+ NLA_PUT(matchset,
+ NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
+ strlen(v[0]), v[0]);
+ nla_nest_end(matchset, match);
+ match = NULL;
+
+ have_matchset = true;
+ i++;
+ c--; v++;
+ } else {
+ /* other element that cannot be part
+ * of a match indicates the end of the
+ * match. */
+ /* need at least one match in the matchset */
+ if (i == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ parse_state = ND_TOPLEVEL;
+ }
+
+ break;
+ case ND_FREQS:
+ freq = strtoul(v[0], &end, 10);
+ if (*end) {
+ if (i == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ parse_state = ND_TOPLEVEL;
+ } else {
+ NLA_PUT_U32(freqs, i, freq);
+ i++;
+ c--; v++;
+ }
+ break;
+ case ND_ACTIVE:
+ if (!strcmp(v[0], "ssid")) {
+ c--; v++;
+ if (c == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ NLA_PUT(ssids,
+ NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
+ strlen(v[0]), v[0]);
+
+ have_ssids = true;
+ i++;
+ c--; v++;
+ } else {
+ /* other element that cannot be part
+ * of a match indicates the end of the
+ * active set. */
+ /* need at least one item in the set */
+ if (i == 0) {
+ err = -EINVAL;
+ goto nla_put_failure;
+ }
+
+ parse_state = ND_TOPLEVEL;
+ }
+ break;
+ }
+ }
+
+ if (!have_ssids)
+ NLA_PUT(ssids, 1, 0, "");
+ if (!have_passive)
+ nla_put_nested(msg, NL80211_ATTR_SCAN_SSIDS, ssids);
+ if (have_freqs)
+ nla_put_nested(msg, NL80211_ATTR_SCAN_FREQUENCIES, freqs);
+ if (have_matchset)
+ nla_put_nested(msg, NL80211_ATTR_SCHED_SCAN_MATCH, matchset);
+ if (flags)
+ NLA_PUT_U32(msg, NL80211_ATTR_SCAN_FLAGS, flags);
+
+nla_put_failure:
+ if (match)
+ nla_nest_end(msg, match);
+ nlmsg_free(freqs);
+ nlmsg_free(matchset);
+
+out:
+ *argc = c;
+ *argv = v;
+ return err;
+}
+
static int handle_scan(struct nl80211_state *state,
struct nl_cb *cb,
struct nl_msg *msg,
@@ -410,6 +647,9 @@
case 6:
printf("AES-128-CMAC");
break;
+ case 7:
+ printf("NO-GROUP");
+ break;
case 8:
printf("GCMP");
break;
@@ -466,24 +706,37 @@
data[0], data[1] ,data[2], data[3]);
break;
}
+ } else if (memcmp(data, wfa_oui, 3) == 0) {
+ switch (data[3]) {
+ case 1:
+ printf("OSEN");
+ break;
+ default:
+ printf("%.02x-%.02x-%.02x:%d",
+ data[0], data[1] ,data[2], data[3]);
+ break;
+ }
} else
printf("%.02x-%.02x-%.02x:%d",
data[0], data[1] ,data[2], data[3]);
}
-static void print_rsn_ie(const char *defcipher, const char *defauth,
- uint8_t len, const uint8_t *data)
+static void _print_rsn_ie(const char *defcipher, const char *defauth,
+ uint8_t len, const uint8_t *data, int is_osen)
{
bool first = true;
- __u16 version, count, capa;
+ __u16 count, capa;
int i;
- version = data[0] + (data[1] << 8);
- tab_on_first(&first);
- printf("\t * Version: %d\n", version);
+ if (!is_osen) {
+ __u16 version;
+ version = data[0] + (data[1] << 8);
+ tab_on_first(&first);
+ printf("\t * Version: %d\n", version);
- data += 2;
- len -= 2;
+ data += 2;
+ len -= 2;
+ }
if (len < 4) {
tab_on_first(&first);
@@ -627,6 +880,19 @@
}
}
+static void print_rsn_ie(const char *defcipher, const char *defauth,
+ uint8_t len, const uint8_t *data)
+{
+ _print_rsn_ie(defcipher, defauth, len, data, 0);
+}
+
+static void print_osen_ie(const char *defcipher, const char *defauth,
+ uint8_t len, const uint8_t *data)
+{
+ printf("\n\t");
+ _print_rsn_ie(defcipher, defauth, len, data, 1);
+}
+
static void print_rsn(const uint8_t type, uint8_t len, const uint8_t *data)
{
print_rsn_ie("CCMP", "IEEE 802.1X", len, data);
@@ -1076,6 +1342,11 @@
print_rsn_ie("TKIP", "IEEE 802.1X", len, data);
}
+static void print_wifi_osen(const uint8_t type, uint8_t len, const uint8_t *data)
+{
+ print_osen_ie("OSEN", "OSEN", len, data);
+}
+
static bool print_wifi_wmm_param(const uint8_t *data, uint8_t len)
{
int i;
@@ -1429,6 +1700,7 @@
static const struct ie_print wfa_printers[] = {
[9] = { "P2P", print_p2p, 2, 255, BIT(PRINT_SCAN), },
[16] = { "HotSpot 2.0 Indication", print_hs20_ind, 1, 255, BIT(PRINT_SCAN), },
+ [18] = { "HotSpot 2.0 OSEN", print_wifi_osen, 1, 255, BIT(PRINT_SCAN), },
};
static void print_vendor(unsigned char len, unsigned char *data,
@@ -1810,3 +2082,32 @@
NL80211_CMD_TRIGGER_SCAN, 0, CIB_NETDEV, handle_scan,
"Trigger a scan on the given frequencies with probing for the given\n"
"SSIDs (or wildcard if not given) unless passive scanning is requested.");
+
+
+static int handle_start_sched_scan(struct nl80211_state *state,
+ struct nl_cb *cb, struct nl_msg *msg,
+ int argc, char **argv, enum id_input id)
+{
+ return parse_sched_scan(msg, &argc, &argv);
+}
+
+static int handle_stop_sched_scan(struct nl80211_state *state, struct nl_cb *cb,
+ struct nl_msg *msg, int argc, char **argv,
+ enum id_input id)
+{
+ if (argc != 0)
+ return 1;
+
+ return 0;
+}
+
+COMMAND(scan, sched_start,
+ SCHED_SCAN_OPTIONS,
+ NL80211_CMD_START_SCHED_SCAN, 0, CIB_NETDEV, handle_start_sched_scan,
+ "Start a scheduled scan at the specified interval on the given frequencies\n"
+ "with probing for the given SSIDs (or wildcard if not given) unless passive\n"
+ "scanning is requested. If matches are specified, only matching results\n"
+ "will be returned.");
+COMMAND(scan, sched_stop, "",
+ NL80211_CMD_STOP_SCHED_SCAN, 0, CIB_NETDEV, handle_stop_sched_scan,
+ "Stop an ongoing scheduled scan.");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/version.sh new/iw-4.1/version.sh
--- old/iw-4.0/version.sh 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/version.sh 2015-05-05 14:15:14.000000000 +0200
@@ -1,6 +1,6 @@
#!/bin/sh
-VERSION="4.0"
+VERSION="4.1"
OUT="$1"
if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/iw-4.0/wowlan.c new/iw-4.1/wowlan.c
--- old/iw-4.0/wowlan.c 2015-03-17 14:18:24.000000000 +0100
+++ new/iw-4.1/wowlan.c 2015-05-05 14:15:14.000000000 +0200
@@ -183,177 +183,17 @@
static int wowlan_parse_net_detect(struct nl_msg *msg, int *argc, char ***argv)
{
- struct nl_msg *matchset = NULL, *freqs = NULL;
- struct nlattr *nd, *match = NULL;
- enum {
- ND_TOPLEVEL,
- ND_MATCH,
- ND_FREQS,
- } parse_state = ND_TOPLEVEL;
- int c = *argc;
- char *end, **v = *argv;
- int err = 0, i = 0;
- unsigned int freq, interval = 0, delay = 0;
- bool have_matchset = false, have_freqs = false;
+ struct nlattr *nd;
+ int err = 0;
nd = nla_nest_start(msg, NL80211_WOWLAN_TRIG_NET_DETECT);
- if (!nd) {
- err = -ENOBUFS;
- goto out;
- }
-
- matchset = nlmsg_alloc();
- if (!matchset) {
- err = -ENOBUFS;
- goto out;
- }
-
- freqs = nlmsg_alloc();
- if (!freqs) {
- err = -ENOBUFS;
- goto out;
- }
-
- while (c) {
- switch (parse_state) {
- case ND_TOPLEVEL:
- if (!strcmp(v[0], "interval")) {
- c--; v++;
- if (c == 0) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- if (interval) {
- err = -EINVAL;
- goto nla_put_failure;
- }
- interval = strtoul(v[0], &end, 10);
- if (*end || !interval) {
- err = -EINVAL;
- goto nla_put_failure;
- }
- NLA_PUT_U32(msg,
- NL80211_ATTR_SCHED_SCAN_INTERVAL,
- interval);
- } else if (!strcmp(v[0], "delay")) {
- c--; v++;
- if (c == 0) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- if (delay) {
- err = -EINVAL;
- goto nla_put_failure;
- }
- delay = strtoul(v[0], &end, 10);
- if (*end) {
- err = -EINVAL;
- goto nla_put_failure;
- }
- NLA_PUT_U32(msg,
- NL80211_ATTR_SCHED_SCAN_DELAY,
- delay);
- } else if (!strcmp(v[0], "matches")) {
- parse_state = ND_MATCH;
- if (have_matchset) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- i = 0;
- } else if (!strcmp(v[0], "freqs")) {
- parse_state = ND_FREQS;
- if (have_freqs) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- have_freqs = true;
- i = 0;
- } else {
- /* this element is not for us, so
- * return to continue parsing.
- */
- goto nla_put_failure;
- }
- c--; v++;
-
- break;
- case ND_MATCH:
- if (!strcmp(v[0], "ssid")) {
- c--; v++;
- if (c == 0) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- /* TODO: for now we can only have an
- * SSID in the match, so we can start
- * the match nest here.
- */
- match = nla_nest_start(matchset, i);
- if (!match) {
- err = -ENOBUFS;
- goto nla_put_failure;
- }
-
- NLA_PUT(matchset,
- NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
- strlen(v[0]), v[0]);
- nla_nest_end(matchset, match);
- match = NULL;
-
- have_matchset = true;
- i++;
- c--; v++;
- } else {
- /* other element that cannot be part
- * of a match indicates the end of the
- * match. */
- /* need at least one match in the matchset */
- if (i == 0) {
- err = -EINVAL;
- goto nla_put_failure;
- }
+ if (!nd)
+ return -ENOBUFS;
- parse_state = ND_TOPLEVEL;
- }
+ err = parse_sched_scan(msg, argc, argv);
- break;
- case ND_FREQS:
- freq = strtoul(v[0], &end, 10);
- if (*end) {
- if (i == 0) {
- err = -EINVAL;
- goto nla_put_failure;
- }
-
- parse_state = ND_TOPLEVEL;
- } else {
- NLA_PUT_U32(freqs, i, freq);
- i++;
- c--; v++;
- }
- break;
- }
- }
-
- if (have_freqs)
- nla_put_nested(msg, NL80211_ATTR_SCAN_FREQUENCIES, freqs);
- if (have_matchset)
- nla_put_nested(msg, NL80211_ATTR_SCHED_SCAN_MATCH, matchset);
-
-nla_put_failure:
- if (match)
- nla_nest_end(msg, match);
- nlmsg_free(freqs);
- nlmsg_free(matchset);
nla_nest_end(msg, nd);
-out:
- *argc = c;
- *argv = v;
+
return err;
}
@@ -473,7 +313,7 @@
return err;
}
COMMAND(wowlan, enable, "[any] [disconnect] [magic-packet] [gtk-rekey-failure] [eap-identity-request]"
- " [4way-handshake] [rfkill-release] [net-detect interval <in_msecs> [delay <in_secs>] [freqs <freq>+] [matches [ssid <ssid>]+]]"
+ " [4way-handshake] [rfkill-release] [net-detect " SCHED_SCAN_OPTIONS "]"
" [tcp <config-file>] [patterns [offset1+]<pattern1> ...]",
NL80211_CMD_SET_WOWLAN, 0, CIB_PHY, handle_wowlan_enable,
"Enable WoWLAN with the given triggers.\n"
@@ -557,7 +397,7 @@
nla_get_u32(nd[NL80211_ATTR_SCHED_SCAN_INTERVAL]));
if (nd[NL80211_ATTR_SCHED_SCAN_DELAY])
- printf("\tintial scan delay: %u secs\n",
+ printf("\tinitial scan delay: %u secs\n",
nla_get_u32(nd[NL80211_ATTR_SCHED_SCAN_DELAY]));
if (nd[NL80211_ATTR_SCHED_SCAN_MATCH]) {
1
0
Hello community,
here is the log from the commit of package eigen3 for openSUSE:Factory checked in at 2015-09-11 09:01:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/eigen3 (Old)
and /work/SRC/openSUSE:Factory/.eigen3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eigen3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/eigen3/eigen3.changes 2015-04-27 12:57:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.eigen3.new/eigen3.changes 2015-09-11 09:01:19.000000000 +0200
@@ -1,0 +2,63 @@
+Sat Sep 5 08:10:52 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 3.2.5
+ * Changes with main impact:
+ + Improve robustness of SimplicialLDLT to semidefinite problems
+ by correctly handling structural zeros in AMD reordering
+ + Re-enable supernodes in SparseLU (fix a performance
+ regression in SparseLU)
+ + Use zero guess in ConjugateGradients::solve
+ + Add PermutationMatrix::determinant method
+ + Fix SparseLU::signDeterminant() method, and add a
+ SparseLU::determinant() method
+ + Allows Lower|Upper as a template argument of CG and MINRES:
+ in this case the full matrix will be considered
+ + Bug 872: remove usage of std::bind* functions (deprecated in
+ c++11)
+ * Numerical robustness improvements:
+ + Bug 1014: improve numerical robustness of the 3x3 direct
+ eigenvalue solver
+ + Bug 1013: fix 2x2 direct eigenvalue solver for identical
+ eigenvalues
+ + Bug 824: improve accuracy of Quaternion::angularDistance
+ + Bug 941: fix an accuracy issue in ColPivHouseholderQR by
+ continuing the decomposition on a small pivot
+ + Bug 933: improve numerical robustness in RealSchur
+ + Fix default threshold value in SPQR
+ * Other changes:
+ + Fix usage of EIGEN_NO_AUTOMATIC_RESIZING
+ + Improved support for custom scalar types in SparseLU
+ + Improve cygwin compatibility
+ + Bug 650: fix an issue with sparse-dense product and
+ rowmajor matrices
+ + Bug 704: fix MKL support (HouseholderQR)
+ + Bug 705: fix handling of Lapack potrf return code (LLT)
+ + Bug 714: fix matrix product with OpenMP support
+ + Bug 949: add static assertions for incompatible scalar
+ types in many of the dense decompositions
+ + Bugs 957, 1000: workaround MSVC/ICC compilation issues when
+ using sparse blocks
+ + Bug 969: fix ambiguous calls to Ref
+ + Bugs 972, 986: add support for coefficient-based product
+ with 0 depth
+ + Bug 980: fix taking a row (resp. column) of a column-major
+ (resp. row-major) sparse matrix
+ + Bug 983: fix an alignement issue in Quaternion
+ + Bug 985: fix RealQZ when either matrix had zero rows or
+ columns
+ + Bug 987: fix alignement guess in diagonal product
+ + Bug 993: fix a pitfall with matrix.inverse()
+ + Bugs 996, 1016: fix scalar conversions
+ + Bug 1003: fix handling of pointers non aligned on scalar
+ boundary in slice-vectorization
+ + Bug 1010: fix member initialization in IncompleteLUT
+ + Bug 1012: enable alloca on Mac OS or if alloca is defined
+ as macro
+ + Doc and build system: 733, 914, 952, 961, 999
+- Use cmake macros
+- Use url for source
+- Cleanup spec file with spec-cleaner
+- Remove conditional buildrequires for releases which did not
+ build anyway
+
+-------------------------------------------------------------------
Old:
----
eigen-3.2.4.tar.bz2
New:
----
3.2.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ eigen3.spec ++++++
--- /var/tmp/diff_new_pack.A0gmyI/_old 2015-09-11 09:01:20.000000000 +0200
+++ /var/tmp/diff_new_pack.A0gmyI/_new 2015-09-11 09:01:20.000000000 +0200
@@ -17,14 +17,13 @@
Name: eigen3
-Version: 3.2.4
+Version: 3.2.5
Release: 0
Summary: C++ Template Library for Linear Algebra
License: MPL-2.0 and LGPL-2.1+ and BSD-3-Clause
Group: Development/Libraries/C and C++
Url: http://eigen.tuxfamily.org/
-# http://bitbucket.org/eigen/eigen/get/3.2.4.tar.bz2
-Source0: eigen-%{version}.tar.bz2
+Source0: http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2
Patch0: 0001-Disable-Altivec-for-ppc64le.patch
Patch1: 0001-Do-stack-allignment-on-ppc.patch
BuildRequires: adolc-devel
@@ -32,39 +31,29 @@
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: fftw3-devel
+BuildRequires: freeglut-devel
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
+BuildRequires: glew-devel
BuildRequires: gmp-devel
-%if 0%{?suse_version} > 1210
BuildRequires: gnu-free-fonts
-%else
-BuildRequires: freefont
-%endif
-BuildRequires: freeglut-devel
-BuildRequires: glew-devel
BuildRequires: graphviz
BuildRequires: graphviz-gd
BuildRequires: gsl-devel
BuildRequires: libqt4-devel
-%if 0%{?suse_version} > 1310
-BuildRequires: metis-devel
-%endif
BuildRequires: mpfr-devel
BuildRequires: pkg-config
-BuildRequires: pkgconfig(gl)
-%if 0%{?suse_version} > 1220
BuildRequires: sparsehash-devel
-%endif
-%if 0%{?suse_version} > 1210
BuildRequires: suitesparse-devel
-%endif
BuildRequires: superlu
-%if 0%{?suse_version} > 1220
BuildRequires: texlive-amsfonts
-%endif
BuildRequires: texlive-latex
-BuildArch: noarch
+BuildRequires: pkgconfig(gl)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
+%if 0%{?suse_version} > 1310
+BuildRequires: metis-devel
+%endif
%description
Eigen is a C++ template library for linear algebra: matrices, vectors,
@@ -82,7 +71,7 @@
numerical solvers, and related algorithms.
%prep
-%setup -q -n eigen-eigen-10219c95fe65
+%setup -q -n eigen-eigen-bdd17ee3b1b3
%patch0 -p1
%patch1 -p1
@@ -93,18 +82,12 @@
echo "HTML_TIMESTAMP = NO" >> doc/Doxyfile.in
%build
-mkdir build
-cd build
-cmake \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} ..
-make %{?_smp_mflags} VERBOSE=1
-%if 0%{?suse_version} > 1140
-make doc %{?_smp_mflags} VERBOSE=1
-%endif
-cd ..
+%cmake \
+ -DCMAKE_BUILD_TYPE=Release
+make %{?_smp_mflags} all doc
%install
-%make_install -C build
+%cmake_install
# Manually install documentation in order to fix rpmlint error "files-duplicated-waste" and warning "files-duplicate" with fdupes macro
mkdir -p %{buildroot}%{_docdir}/%{name}-devel
++++++ 0001-Disable-Altivec-for-ppc64le.patch ++++++
--- /var/tmp/diff_new_pack.A0gmyI/_old 2015-09-11 09:01:20.000000000 +0200
+++ /var/tmp/diff_new_pack.A0gmyI/_new 2015-09-11 09:01:20.000000000 +0200
@@ -7,10 +7,10 @@
Eigen/Core | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Eigen/Core b/Eigen/Core
-index 9131cc3..329a10d 100644
---- a/Eigen/Core
-+++ b/Eigen/Core
+Index: eigen-eigen-bdd17ee3b1b3/Eigen/Core
+===================================================================
+--- eigen-eigen-bdd17ee3b1b3.orig/Eigen/Core
++++ eigen-eigen-bdd17ee3b1b3/Eigen/Core
@@ -114,7 +114,7 @@
#endif
#endif
@@ -20,6 +20,3 @@
#define EIGEN_VECTORIZE
#define EIGEN_VECTORIZE_ALTIVEC
#include <altivec.h>
---
-1.8.5.2
-
++++++ 0001-Do-stack-allignment-on-ppc.patch ++++++
--- /var/tmp/diff_new_pack.A0gmyI/_old 2015-09-11 09:01:20.000000000 +0200
+++ /var/tmp/diff_new_pack.A0gmyI/_new 2015-09-11 09:01:20.000000000 +0200
@@ -7,10 +7,10 @@
Eigen/src/Core/util/Macros.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Eigen/src/Core/util/Macros.h b/Eigen/src/Core/util/Macros.h
-index 0088621..f0b5de1 100644
---- a/Eigen/src/Core/util/Macros.h
-+++ b/Eigen/src/Core/util/Macros.h
+Index: eigen-eigen-bdd17ee3b1b3/Eigen/src/Core/util/Macros.h
+===================================================================
+--- eigen-eigen-bdd17ee3b1b3.orig/Eigen/src/Core/util/Macros.h
++++ eigen-eigen-bdd17ee3b1b3/Eigen/src/Core/util/Macros.h
@@ -50,7 +50,7 @@
// Only static alignment is really problematic (relies on nonstandard compiler extensions that don't
// work everywhere, for example don't work on GCC/ARM), try to keep heap alignment even
@@ -20,6 +20,3 @@
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 1
#else
#define EIGEN_GCC_AND_ARCH_DOESNT_WANT_STACK_ALIGNMENT 0
---
-1.7.12.4
-
++++++ eigen-3.2.4.tar.bz2 -> 3.2.5.tar.bz2 ++++++
++++ 3609 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package phonon-backend-gstreamer for openSUSE:Factory checked in at 2015-09-11 09:01:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon-backend-gstreamer (Old)
and /work/SRC/openSUSE:Factory/.phonon-backend-gstreamer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon-backend-gstreamer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/phonon-backend-gstreamer/phonon-backend-gstreamer.changes 2014-11-01 08:14:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.phonon-backend-gstreamer.new/phonon-backend-gstreamer.changes 2015-09-11 09:01:18.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Aug 27 19:10:43 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 4.8.2 (changes since 4.8.0):
+ * Prevent call to gst_element_set_state from a streaming thread.
+ * Don't set WA_PaintOnScreen on the OverlayWidget in X11Renderer
+ in Qt5 build.
+ * Make VideoWidget::snapshot work again.
+- Own /usr/share/kde4/services/phononbackends/ directory as no
+ phonon-backend-gstreamer requirement owns it.
+- Correct Phonon ABI version.
+
+-------------------------------------------------------------------
@@ -352 +363,0 @@
-
Old:
----
phonon-backend-gstreamer-4.8.0.tar.xz
New:
----
phonon-backend-gstreamer-4.8.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon-backend-gstreamer.spec ++++++
--- /var/tmp/diff_new_pack.V8rXAj/_old 2015-09-11 09:01:19.000000000 +0200
+++ /var/tmp/diff_new_pack.V8rXAj/_new 2015-09-11 09:01:19.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package phonon-backend-gstreamer
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,59 +16,59 @@
#
-%define _phonon_version 4.8.0
-
+%define _phonon_version 4.6.50
Name: phonon-backend-gstreamer
-Version: 4.8.0
+Version: 4.8.2
Release: 0
Summary: Phonon Multimedia Platform Abstraction
License: LGPL-2.1 or LGPL-3.0
Group: System/GUI/KDE
Url: http://phonon.kde.org/
-Source: http://download.kde.org/stable/phonon/%{name}/%{version}/%{name}-%{version}…
-BuildRequires: -post-build-checks
-BuildRequires: alsa-devel
+Source: http://download.kde.org/stable/phonon/%{name}/%{version}/src/%{name}-%{vers…
BuildRequires: automoc4
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: kde4-filesystem
-BuildRequires: phonon-devel
BuildRequires: update-desktop-files
-BuildRequires: xz
+BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(libxml-2.0)
-Requires: libphonon4 => %{_phonon_version}
+BuildRequires: pkgconfig(phonon) >= %{_phonon_version}
+Requires: libphonon4 >= %{_phonon_version}
Supplements: packageand(gstreamer-plugins-base:phonon)
Obsoletes: phonon-backend-gstreamer-0_10 < %{version}
Provides: phonon-backend
Provides: phonon-backend-gstreamer-0_10 = %{version}
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Phonon is a cross-platform portable Multimedia Support Abstraction,
-which allows you to play multiple audio or video formats with the same
-quality on all platforms, no matter which underlying architecture is
-used.
+which allows you to play multiple audio or video formats with the
+same quality on all platforms, no matter which underlying
+architecture is used.
+
+This is the GStreamer backend for Phonon.
%prep
-%setup -q -n %{name}-%{version}
+%setup -q
%build
- %cmake_kde4 -d build
- %make_jobs
+%cmake_kde4 -d build
+%make_jobs
%install
- cd build
- %kde4_makeinstall
- %suse_update_desktop_file %{buildroot}%{_kde4_servicesdir}/phononbackends/gstreamer.desktop
- %fdupes %{buildroot}%{_includedir}
+%kde4_makeinstall -C build
+%suse_update_desktop_file %{buildroot}%{_kde4_servicesdir}/phononbackends/gstreamer.desktop
+%fdupes %{buildroot}%{_includedir}
+
+%kde_post_install
%files
%defattr(-,root,root)
%doc COPYING.LIB
+%dir %{_kde4_servicesdir}/phononbackends
+%{_kde4_iconsdir}/*/*/apps/phonon-gstreamer.*
%{_kde4_modulesdir}/plugins/phonon_backend/phonon_gstreamer.so
%{_kde4_servicesdir}/phononbackends/gstreamer.desktop
-%{_kde4_iconsdir}/*/*/apps/phonon-gstreamer.*
%changelog
++++++ phonon-backend-gstreamer-4.8.0.tar.xz -> phonon-backend-gstreamer-4.8.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.8.0/CMakeLists.txt new/phonon-backend-gstreamer-4.8.2/CMakeLists.txt
--- old/phonon-backend-gstreamer-4.8.0/CMakeLists.txt 2014-09-06 18:13:59.000000000 +0200
+++ new/phonon-backend-gstreamer-4.8.2/CMakeLists.txt 2014-12-27 15:05:27.000000000 +0100
@@ -7,7 +7,7 @@
set(PHONON_GST_MAJOR_VERSION "4")
set(PHONON_GST_MINOR_VERSION "8")
-set(PHONON_GST_PATCH_VERSION "0")
+set(PHONON_GST_PATCH_VERSION "2")
set(PHONON_GST_VERSION "${PHONON_GST_MAJOR_VERSION}.${PHONON_GST_MINOR_VERSION}.${PHONON_GST_PATCH_VERSION}")
add_definitions(-DPHONON_GST_VERSION="${PHONON_GST_VERSION}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.8.0/gstreamer/pipeline.cpp new/phonon-backend-gstreamer-4.8.2/gstreamer/pipeline.cpp
--- old/phonon-backend-gstreamer-4.8.0/gstreamer/pipeline.cpp 2014-09-06 18:13:59.000000000 +0200
+++ new/phonon-backend-gstreamer-4.8.2/gstreamer/pipeline.cpp 2014-12-27 15:05:27.000000000 +0100
@@ -330,9 +330,10 @@
// Instead of playing when the pipeline is still streaming, we pause
// and let gst finish streaming.
if ( percent < 100 && gstMessage->type == GST_MESSAGE_BUFFERING) {
- that->setState(GST_STATE_PAUSED);
+ QMetaObject::invokeMethod(that, "setState", Qt::QueuedConnection, Q_ARG(GstState, GST_STATE_PAUSED));
+
} else {
- that->setState(GST_STATE_PLAYING);
+ QMetaObject::invokeMethod(that, "setState", Qt::QueuedConnection, Q_ARG(GstState, GST_STATE_PLAYING));
}
if (that->m_bufferPercent != percent) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.8.0/gstreamer/pipeline.h new/phonon-backend-gstreamer-4.8.2/gstreamer/pipeline.h
--- old/phonon-backend-gstreamer-4.8.0/gstreamer/pipeline.h 2014-09-06 18:13:59.000000000 +0200
+++ new/phonon-backend-gstreamer-4.8.2/gstreamer/pipeline.h 2014-12-27 15:05:27.000000000 +0100
@@ -50,7 +50,7 @@
GstElement *audioPipe() const;
GstElement *videoPipe() const;
- GstStateChangeReturn setState(GstState state);
+ Q_INVOKABLE GstStateChangeReturn setState(GstState state);
GstState state() const;
Phonon::MediaSource currentSource() const;
void writeToDot(MediaObject *media, const QString &type);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.8.0/gstreamer/videowidget.cpp new/phonon-backend-gstreamer-4.8.2/gstreamer/videowidget.cpp
--- old/phonon-backend-gstreamer-4.8.0/gstreamer/videowidget.cpp 2014-09-06 18:13:59.000000000 +0200
+++ new/phonon-backend-gstreamer-4.8.2/gstreamer/videowidget.cpp 2014-12-27 15:05:27.000000000 +0100
@@ -329,8 +329,10 @@
g_object_get(G_OBJECT(videosink), "last-sample", &videobuffer, NULL);
if (videobuffer) {
+ // TODO Might need to use BGR on big-endian
+ // Needs someone with proper hardware to test
GstCaps *snapcaps = gst_caps_new_simple("video/x-raw",
- "format = (string)", G_TYPE_STRING, GST_VIDEO_NE(RGB),
+ "format", G_TYPE_STRING, "RGB",
NULL);
GstSample *sample = gst_video_convert_sample(videobuffer, snapcaps, GST_SECOND, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.8.0/gstreamer/x11renderer.cpp new/phonon-backend-gstreamer-4.8.2/gstreamer/x11renderer.cpp
--- old/phonon-backend-gstreamer-4.8.0/gstreamer/x11renderer.cpp 2014-09-06 18:13:59.000000000 +0200
+++ new/phonon-backend-gstreamer-4.8.2/gstreamer/x11renderer.cpp 2014-12-27 15:05:27.000000000 +0100
@@ -81,7 +81,9 @@
X11Renderer::~X11Renderer()
{
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
m_renderWidget->setAttribute(Qt::WA_PaintOnScreen, false);
+#endif
m_renderWidget->setAttribute(Qt::WA_NoSystemBackground, false);
delete m_renderWidget;
}
@@ -144,7 +146,10 @@
// Setting these values ensures smooth resizing since it
// will prevent the system from clearing the background
m_renderWidget->setAttribute(Qt::WA_NoSystemBackground, true);
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+ // Leads to tons of warnings from QWidget::paintEngine on Qt 5
m_renderWidget->setAttribute(Qt::WA_PaintOnScreen, true);
+#endif
setOverlay();
} else if (e->type() == QEvent::Resize) {
// This is a workaround for missing background repaints
1
0
Hello community,
here is the log from the commit of package llvm for openSUSE:Factory checked in at 2015-09-11 09:01:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm (Old)
and /work/SRC/openSUSE:Factory/.llvm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm/lldb.changes 2015-06-23 11:55:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.llvm.new/lldb.changes 2015-09-11 09:01:10.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Sep 2 08:23:08 UTC 2015 - idonmez(a)suse.com
+
+- Update to version 3.7.0
+ * No changelog upstream
+- Refresh lldb-cmake.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/llvm/llvm.changes 2015-05-29 09:51:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.llvm.new/llvm.changes 2015-09-11 09:01:10.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Sep 2 08:14:39 UTC 2015 - idonmez(a)suse.com
+
+- Update to version 3.7.0
+ * See http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html
+- Merge aarch64-suse-support.patch into arm_suse_support.diff
+- Refresh arm_suse_support.diff, llvm-fix-find-gcc5-install.patch
+- Remove llvm-fix-parsearmarch.patch, upstream.
+
+-------------------------------------------------------------------
Old:
----
aarch64-suse-support.patch
cfe-3.6.1.src.tar.xz
cfe-docs-3.6.1.src.tar.xz
compiler-rt-3.6.1.src.tar.xz
libcxx-3.6.1.src.tar.xz
libcxxabi-3.6.1.src.tar.xz
lldb-3.6.1.src.tar.xz
llvm-3.6.1.src.tar.xz
llvm-docs-3.6.1.src.tar.xz
llvm-fix-parsearmarch.patch
New:
----
cfe-3.7.0.src.tar.xz
cfe-docs-3.7.0.src.tar.xz
compiler-rt-3.7.0.src.tar.xz
libcxx-3.7.0.src.tar.xz
libcxxabi-3.7.0.src.tar.xz
lldb-3.7.0.src.tar.xz
llvm-3.7.0.src.tar.xz
llvm-docs-3.7.0.src.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lldb.spec ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:12.000000000 +0200
@@ -16,10 +16,10 @@
#
-%define _revision 238133
+%define _revision 246586
Name: lldb
-Version: 3.6.1
+Version: 3.7.0
Release: 0
Summary: The LLDB Debugger
License: NCSA
@@ -96,6 +96,14 @@
pushd build
DESTDIR=%{buildroot} ninja install
+# Fix the lldb.so link
+rm %{buildroot}%{py_sitedir}/lldb/_lldb.so
+ln -sf %{_libdir}/liblldb.so.%{version} %{buildroot}%{py_sitedir}/lldb/_lldb.so
+
+# Fix the lib link
+rm %{buildroot}%{py_sitedir}/lib
+ln -sf %{libdir} %{buildroot}%{py_sitedir}/lib
+
rm %{buildroot}%{_libdir}/liblldb*.a
%post -p /sbin/ldconfig
@@ -105,8 +113,10 @@
%files
%defattr(-,root,root,-)
%{_libdir}/liblldb.so.*
+%{_bindir}/argdumper
%{_bindir}/lldb*
%{py_sitedir}/readline.so
+%{py_sitedir}/lib
%{py_sitedir}/lldb
%files devel
++++++ llvm.spec ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:12.000000000 +0200
@@ -16,8 +16,8 @@
#
-%define _revision 238133
-%define _release_version 3.6.1
+%define _revision 246586
+%define _release_version 3.7.0
%define build_libcxx 0
@@ -26,7 +26,7 @@
%endif
Name: llvm
-Version: 3.6.1
+Version: 3.7.0
Release: 0
Summary: Low Level Virtual Machine
License: NCSA
@@ -41,7 +41,7 @@
# cd docs
# make -f Makefile.sphinx man html
# cd ..
-# tar cvJf llvm-docs-3.6.1.src.tar.xz llvm-3.6.1.src/docs/_build/{man,html}
+# tar cvJf llvm-docs-3.7.0.src.tar.xz llvm-3.7.0.src/docs/_build/{man,html}
Source5: llvm-docs-%{version}.src.tar.xz
Source6: cfe-docs-%{version}.src.tar.xz
Source100: %{name}-rpmlintrc
@@ -57,13 +57,10 @@
# PATCH-FIX-OPENSUSE arm_suse_support.diff --Enable ARM suse toolchain support
Patch6: arm_suse_support.diff
Patch7: cmake-host-triple.patch
-# PATCH-FIX-OPENSUSE aarch64-suse-support.patch -- Enable AArch64 suse toolchain support
-Patch8: aarch64-suse-support.patch
Patch10: clang-resourcedirs.patch
Patch11: libcxxabi-exceptions.patch
Patch13: llvm-remove-clang-only-flags.patch
Patch15: llvm-fix-find-gcc5-install.patch
-Patch16: llvm-fix-parsearmarch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: binutils-devel >= 2.21.90
BuildRequires: bison
@@ -80,8 +77,8 @@
BuildRequires: python-base
BuildRequires: python-xml
Requires: libLLVM = %{version}-%{release}
-# llvm does not work on ppc, only ppc64
-ExcludeArch: ppc
+# llvm does not work on ppc or s390
+ExcludeArch: ppc s390
%description
LLVM is a compiler infrastructure designed for compile-time,
@@ -162,12 +159,10 @@
%patch4
%patch6
%patch7 -p1
-%patch8
%patch10
%patch11
%patch13 -p1
%patch15
-%patch16 -p1
# Move into right place
mv cfe-%{version}.src tools/clang
@@ -176,10 +171,14 @@
%if %{build_libcxx}
mv libcxx-%{version}.src projects/libcxx
mv libcxxabi-%{version}.src projects/libcxxabi
+
+rm projects/libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
+rm projects/libcxx/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
%endif
# We hardcode i586
rm tools/clang/test/Driver/x86_features.c
+rm tools/clang/test/Driver/nacl-direct.c
sed -i s,SVN_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp
sed -i s,LLVM_REVISION,\"%{_revision}\",g tools/clang/lib/Basic/Version.cpp
@@ -264,7 +263,7 @@
-DLLVM_ENABLE_PIC=ON \
-DLLVM_BINUTILS_INCDIR=/usr/include \
%ifarch %{ix86} x86_64
- -DLLVM_TARGETS_TO_BUILD="host;R600" \
+ -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
%else
-DLLVM_TARGETS_TO_BUILD=host \
%endif
@@ -311,7 +310,7 @@
-DLLVM_ENABLE_PIC=ON \
-DLLVM_BINUTILS_INCDIR=/usr/include \
%ifarch %{ix86} x86_64
- -DLLVM_TARGETS_TO_BUILD="host;R600" \
+ -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
%else
-DLLVM_TARGETS_TO_BUILD=host \
%endif
@@ -324,8 +323,7 @@
ninja clang-test
%if %{build_libcxx}
-# Uncomment when llvm 3.6 hits
-#ninja check-libcxx
+ninja check-libcxx
ninja check-libcxxabi
%endif
@@ -410,8 +408,10 @@
sed -i 's,RealBin/bin,RealBin,' \
%{buildroot}%{_bindir}/scan-build
-install -m 755 -d %{buildroot}%{_datadir}/vim/site/syntax/
-install -m 644 utils/vim/*.vim %{buildroot}%{_datadir}/vim/site/syntax/
+install -m 755 -d %{buildroot}%{_datadir}/vim/site/
+for i in ftdetect ftplugin indent syntax; do
+ cp -r utils/vim/$i %{buildroot}%{_datadir}/vim/site/
+done
mv utils/vim/README utils/vim/README.vim
# Stuff we don't want to include
@@ -463,7 +463,7 @@
%files -n libLLVM
%defattr(-,root,root,-)
-%{_libdir}/libLLVM*
+%{_libdir}/libLLVM*.so.*
%files clang
%defattr(-,root,root)
@@ -496,13 +496,11 @@
%files -n libclang
%defattr(-,root,root,-)
-%exclude %{_libdir}/libclang.so
-%{_libdir}/libclang*.so
-%{_libdir}/libclang.so.*
+%{_libdir}/libclang*.so.*
%files clang-devel
%defattr(-,root,root)
-%{_libdir}/libclang.so
+%{_libdir}/libclang*.so
%{_includedir}/clang
%{_includedir}/clang-c
%doc %{_docdir}/llvm-clang
@@ -510,6 +508,7 @@
%files devel
%defattr(-,root,root,-)
%{_bindir}/%{name}-config
+%{_libdir}/libLLVM*.so
%{_libdir}/BugpointPasses.*
%{_libdir}/LLVMHello.*
%doc %{_mandir}/man1/%{name}-config.1%{ext_man}
++++++ arm_suse_support.diff ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:12.000000000 +0200
@@ -1,18 +1,26 @@
-Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp
+Index: cfe-3.7.0.src/lib/Driver/ToolChains.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/ToolChains.cpp
-+++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp
-@@ -1322,9 +1322,11 @@ bool Generic_GCC::GCCInstallationDetecto
+--- cfe-3.7.0.src.orig/lib/Driver/ToolChains.cpp
++++ cfe-3.7.0.src/lib/Driver/ToolChains.cpp
+@@ -1266,16 +1266,18 @@ bool Generic_GCC::GCCInstallationDetecto
+ static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
+ static const char *const AArch64Triples[] = {
+ "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-linux-android",
+- "aarch64-redhat-linux"};
++ "aarch64-redhat-linux", "aarch64-suse-linux"};
+ static const char *const AArch64beLibDirs[] = {"/lib"};
+ static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
+ "aarch64_be-linux-gnu"};
- static const char *const ARMLibDirs[] = { "/lib" };
- static const char *const ARMTriples[] = { "arm-linux-gnueabi",
-- "arm-linux-androideabi" };
-+ "arm-linux-androideabi",
-+ "armv6hl-suse-linux-gnueabi"};
- static const char *const ARMHFTriples[] = { "arm-linux-gnueabihf",
-- "armv7hl-redhat-linux-gnueabi" };
-+ "armv7hl-redhat-linux-gnueabi",
-+ "armv7hl-suse-linux-gnueabi"};
- static const char *const ARMebLibDirs[] = { "/lib" };
- static const char *const ARMebTriples[] = { "armeb-linux-gnueabi",
- "armeb-linux-androideabi" };
+ static const char *const ARMLibDirs[] = {"/lib"};
+ static const char *const ARMTriples[] = {"arm-linux-gnueabi",
+- "arm-linux-androideabi"};
++ "arm-linux-androideabi",
++ "armv6hl-suse-linux-gnueabi"};
+ static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
+- "armv7hl-redhat-linux-gnueabi"};
++ "armv7hl-redhat-linux-gnueabi",
++ "armv7hl-suse-linux-gnueabi"};
+ static const char *const ARMebLibDirs[] = {"/lib"};
+ static const char *const ARMebTriples[] = {"armeb-linux-gnueabi",
+ "armeb-linux-androideabi"};
++++++ assume-opensuse.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:12.000000000 +0200
@@ -1,7 +1,7 @@
-Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp
+Index: cfe-3.7.0.src/lib/Driver/ToolChains.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/ToolChains.cpp
-+++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp
+--- cfe-3.7.0.src/lib/Driver/ToolChains.cpp
++++ cfe-3.7.0.src/lib/Driver/ToolChains.cpp
@@ -2794,6 +2794,7 @@ static bool IsUbuntu(enum Distro Distro)
}
++++++ cfe-3.6.1.src.tar.xz -> cfe-3.7.0.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm/cfe-3.6.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/cfe-3.7.0.src.tar.xz differ: char 26, line 1
++++++ cfe-docs-3.6.1.src.tar.xz -> cfe-docs-3.7.0.src.tar.xz ++++++
++++ 63536 lines of diff (skipped)
++++++ clang-disable-ada-extension.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:13.000000000 +0200
@@ -1,7 +1,7 @@
-Index: cfe-3.6.1.src/lib/Driver/Types.cpp
+Index: cfe-3.7.0.src/lib/Driver/Types.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/Types.cpp
-+++ cfe-3.6.1.src/lib/Driver/Types.cpp
+--- cfe-3.7.0.src/lib/Driver/Types.cpp
++++ cfe-3.7.0.src/lib/Driver/Types.cpp
@@ -158,8 +158,6 @@ types::ID types::lookupTypeForExtension(
.Case("hh", TY_CXXHeader)
.Case("ll", TY_LLVM_IR)
++++++ clang-resourcedirs.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:13.000000000 +0200
@@ -1,7 +1,7 @@
-Index: cfe-3.6.1.src/lib/Driver/Driver.cpp
+Index: cfe-3.7.0.src/lib/Driver/Driver.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/Driver.cpp
-+++ cfe-3.6.1.src/lib/Driver/Driver.cpp
+--- cfe-3.7.0.src/lib/Driver/Driver.cpp
++++ cfe-3.7.0.src/lib/Driver/Driver.cpp
@@ -64,7 +64,7 @@ Driver::Driver(StringRef ClangExecutable
// Compute the path to the resource directory.
++++++ compiler-rt-3.6.1.src.tar.xz -> compiler-rt-3.7.0.src.tar.xz ++++++
++++ 45997 lines of diff (skipped)
++++++ default-to-i586.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:14.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:14.000000000 +0200
@@ -1,7 +1,7 @@
-Index: cfe-3.6.1.src/lib/Driver/Tools.cpp
+Index: cfe-3.7.0.src/lib/Driver/Tools.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/Tools.cpp
-+++ cfe-3.6.1.src/lib/Driver/Tools.cpp
+--- cfe-3.7.0.src/lib/Driver/Tools.cpp
++++ cfe-3.7.0.src/lib/Driver/Tools.cpp
@@ -1322,8 +1322,8 @@ static const char *getX86TargetCPU(const
case llvm::Triple::Bitrig:
return "i686";
++++++ libcxx-3.6.1.src.tar.xz -> libcxx-3.7.0.src.tar.xz ++++++
++++ 36728 lines of diff (skipped)
++++++ libcxxabi-3.6.1.src.tar.xz -> libcxxabi-3.7.0.src.tar.xz ++++++
++++ 93428 lines of diff (skipped)
++++++ libcxxabi-exceptions.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:17.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:17.000000000 +0200
@@ -1,7 +1,7 @@
-Index: libcxxabi-3.6.1.src/src/CMakeLists.txt
+Index: libcxxabi-3.7.0.src/src/CMakeLists.txt
===================================================================
---- libcxxabi-3.6.1.src/src/CMakeLists.txt
-+++ libcxxabi-3.6.1.src/src/CMakeLists.txt
+--- libcxxabi-3.7.0.src/src/CMakeLists.txt
++++ libcxxabi-3.7.0.src/src/CMakeLists.txt
@@ -52,7 +52,7 @@ append_if(libraries LIBCXXABI_HAS_PTHREA
if (LIBCXXABI_USE_LLVM_UNWINDER)
list(APPEND libraries unwind)
@@ -10,4 +10,4 @@
+ append_if(libraries LIBCXXABI_HAS_GCC_EH_LIB gcc_s)
endif()
- target_link_libraries(cxxabi ${libraries})
+ # Setup flags.
++++++ lldb-3.6.1.src.tar.xz -> lldb-3.7.0.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm/lldb-3.6.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/lldb-3.7.0.src.tar.xz differ: char 25, line 1
++++++ lldb-cmake.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:17.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:17.000000000 +0200
@@ -1,8 +1,8 @@
-Index: lldb-3.6.1.src/source/lldb.cpp
+Index: lldb-3.7.0.src/source/lldb.cpp
===================================================================
---- lldb-3.6.1.src.orig/source/lldb.cpp
-+++ lldb-3.6.1.src/source/lldb.cpp
-@@ -325,11 +325,7 @@ extern "C" const unsigned char liblldb_c
+--- lldb-3.7.0.src.orig/source/lldb.cpp
++++ lldb-3.7.0.src/source/lldb.cpp
+@@ -21,11 +21,7 @@ extern "C" const unsigned char liblldb_c
static const char *
GetLLDBRevision()
{
@@ -14,11 +14,11 @@
}
static const char *
-Index: lldb-3.6.1.src/source/Core/IOHandler.cpp
+Index: lldb-3.7.0.src/source/Core/IOHandler.cpp
===================================================================
---- lldb-3.6.1.src.orig/source/Core/IOHandler.cpp
-+++ lldb-3.6.1.src/source/Core/IOHandler.cpp
-@@ -31,8 +31,8 @@
+--- lldb-3.7.0.src.orig/source/Core/IOHandler.cpp
++++ lldb-3.7.0.src/source/Core/IOHandler.cpp
+@@ -29,8 +29,8 @@
#include "lldb/Target/ThreadPlan.h"
#ifndef LLDB_DISABLE_CURSES
@@ -29,51 +29,12 @@
#endif
using namespace lldb;
-Index: lldb-3.6.1.src/CMakeLists.txt
+Index: lldb-3.7.0.src/source/Host/CMakeLists.txt
===================================================================
---- lldb-3.6.1.src.orig/CMakeLists.txt
-+++ lldb-3.6.1.src/CMakeLists.txt
-@@ -83,7 +83,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURR
-
- # Import CMake library targets from LLVM and Clang.
- include("${LLDB_PATH_TO_LLVM_BUILD}/share/llvm/cmake/LLVMConfig.cmake")
-- include("${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
-+ # include("${LLDB_PATH_TO_CLANG_BUILD}/share/clang/cmake/ClangConfig.cmake")
-
- set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}")
-
-Index: lldb-3.6.1.src/cmake/LLDBDependencies.cmake
-===================================================================
---- lldb-3.6.1.src.orig/cmake/LLDBDependencies.cmake
-+++ lldb-3.6.1.src/cmake/LLDBDependencies.cmake
-@@ -132,7 +132,7 @@ set( CLANG_USED_LIBS
-
- set(LLDB_SYSTEM_LIBS)
- if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" AND NOT __ANDROID_NDK__)
-- list(APPEND LLDB_SYSTEM_LIBS edit panel ncurses)
-+ list(APPEND LLDB_SYSTEM_LIBS edit panel ncurses dl pthread)
+--- lldb-3.7.0.src.orig/source/Host/CMakeLists.txt
++++ lldb-3.7.0.src/source/Host/CMakeLists.txt
+@@ -134,3 +134,4 @@ else()
endif()
- # On FreeBSD backtrace() is provided by libexecinfo, not libc.
- if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-@@ -165,6 +165,8 @@ set( LLVM_LINK_COMPONENTS
- mcdisassembler
- executionengine
- option
-+ support
-+ runtimedyld
- )
-
- if ( NOT LLDB_DISABLE_PYTHON )
-Index: lldb-3.6.1.src/tools/lldb-mi/CMakeLists.txt
-===================================================================
---- lldb-3.6.1.src.orig/tools/lldb-mi/CMakeLists.txt
-+++ lldb-3.6.1.src/tools/lldb-mi/CMakeLists.txt
-@@ -164,7 +164,7 @@ add_lldb_executable(lldb-mi
- )
- endif ()
--target_link_libraries(lldb-mi liblldb)
-+target_link_libraries(lldb-mi liblldb pthread)
- # TODO: why isn't this done by add_lldb_executable?
- #target_link_libraries(lldb-mi ${LLDB_USED_LIBS})
- #llvm_config(lldb-mi ${LLVM_LINK_COMPONENTS})
+ add_lldb_library(lldbHost ${HOST_SOURCES})
++target_link_libraries(lldbHost dl pthread)
++++++ llvm-3.6.1.src.tar.xz -> llvm-3.7.0.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm/llvm-3.6.1.src.tar.xz /work/SRC/openSUSE:Factory/.llvm.new/llvm-3.7.0.src.tar.xz differ: char 25, line 1
++++++ llvm-docs-3.6.1.src.tar.xz -> llvm-docs-3.7.0.src.tar.xz ++++++
++++ 84039 lines of diff (skipped)
++++++ llvm-fix-find-gcc5-install.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:18.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:18.000000000 +0200
@@ -1,19 +1,14 @@
-Index: cfe-3.6.1.src/lib/Driver/ToolChains.cpp
+Index: cfe-3.7.0.src/lib/Driver/ToolChains.cpp
===================================================================
---- cfe-3.6.1.src/lib/Driver/ToolChains.cpp.orig 2015-02-20 14:03:49.512242844 +0100
-+++ cfe-3.6.1.src/lib/Driver/ToolChains.cpp 2015-02-20 15:07:11.965048162 +0100
-@@ -1135,10 +1135,11 @@ Generic_GCC::GCCVersion Linux::GCCVersio
- GoodVersion.Major < 0)
+--- cfe-3.7.0.src/lib/Driver/ToolChains.cpp
++++ cfe-3.7.0.src/lib/Driver/ToolChains.cpp
+@@ -1091,7 +1091,8 @@ Generic_GCC::GCCVersion Linux::GCCVersio
+ if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
return BadVersion;
GoodVersion.MajorStr = First.first.str();
-- if (Second.first.getAsInteger(10, GoodVersion.Minor) ||
-- GoodVersion.Minor < 0)
-- return BadVersion;
+- if (Second.first.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0)
++ if (!Second.first.str().empty() &&
++ (Second.first.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0))
+ return BadVersion;
GoodVersion.MinorStr = Second.first.str();
-+ if (!Second.first.str().empty () &&
-+ (Second.first.getAsInteger(10, GoodVersion.Minor) ||
-+ GoodVersion.Minor < 0))
-+ return BadVersion;
- // First look for a number prefix and parse that if present. Otherwise just
- // stash the entire patch string in the suffix, and leave the number
++++++ llvm-remove-clang-only-flags.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:18.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:18.000000000 +0200
@@ -1,7 +1,7 @@
-Index: llvm-3.6.1.src/cmake/modules/HandleLLVMOptions.cmake
+Index: llvm-3.7.0.src/cmake/modules/HandleLLVMOptions.cmake
===================================================================
---- llvm-3.6.1.src.orig/cmake/modules/HandleLLVMOptions.cmake
-+++ llvm-3.6.1.src/cmake/modules/HandleLLVMOptions.cmake
+--- llvm-3.7.0.src.orig/cmake/modules/HandleLLVMOptions.cmake
++++ llvm-3.7.0.src/cmake/modules/HandleLLVMOptions.cmake
@@ -302,9 +302,6 @@ elseif( LLVM_COMPILER_IS_GCC_COMPATIBLE
endif()
endif (LLVM_ENABLE_WARNINGS)
++++++ set-revision.patch ++++++
--- /var/tmp/diff_new_pack.fgBobA/_old 2015-09-11 09:01:18.000000000 +0200
+++ /var/tmp/diff_new_pack.fgBobA/_new 2015-09-11 09:01:18.000000000 +0200
@@ -1,7 +1,7 @@
-Index: cfe-3.6.1.src/lib/Basic/Version.cpp
+Index: cfe-3.7.0.src/lib/Basic/Version.cpp
===================================================================
---- cfe-3.6.1.src/lib/Basic/Version.cpp
-+++ cfe-3.6.1.src/lib/Basic/Version.cpp
+--- cfe-3.7.0.src/lib/Basic/Version.cpp
++++ cfe-3.7.0.src/lib/Basic/Version.cpp
@@ -66,19 +66,11 @@ std::string getLLVMRepositoryPath() {
}
1
0
Hello community,
here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2015-09-11 09:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi (Old)
and /work/SRC/openSUSE:Factory/.kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2015-08-28 08:24:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2015-09-11 09:00:57.000000000 +0200
@@ -1,0 +2,21 @@
+Thu Aug 27 11:11:07 CEST 2015 - ms(a)suse.de
+
+- v7.03.15 released
+
+-------------------------------------------------------------------
+Thu Aug 27 11:06:07 CEST 2015 - ms(a)suse.de
+
+- Added type attribute wwid_wait_timeout
+
+ multipath devices from a SAN system take some time to appear on
+ the host. In order to have all presented wwn's available on the
+ host it's required to wait some time because we can't poll for
+ the appearance of a specific device the wait period is now
+ customizable. The default wait period is 3 seconds
+
+-------------------------------------------------------------------
+Tue Aug 25 12:03:37 CEST 2015 - ms(a)suse.de
+
+- Revert "Remove genisoimage and cdrkit-cdrtools-compat dependency"
+
+-------------------------------------------------------------------
@@ -33,0 +55,17 @@
+Thu Aug 13 15:31:04 CEST 2015 - jochen.keil(a)suse.de
+
+- Don't fix the catalog when it's already correct
+
+ In contrast to genisoimage, mkisofs generates a proper boot catalog
+ entry. Thus it is not necessary to fix it.
+
+-------------------------------------------------------------------
+Wed Aug 12 11:58:07 CEST 2015 - jochen.keil(a)suse.de
+
+- Remove genisoimage and cdrkit-cdrtools-compat dependency
+
+ * cdrkit-cdrtools-compat provides a symlink from mkisofs to genisoimage
+ * It should be safe to use mkisofs as drop-in replacement for genisoimage
+ * Removing these dependencies is one step towards removing wodim
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.vHdVNy/_old 2015-09-11 09:01:00.000000000 +0200
+++ /var/tmp/diff_new_pack.vHdVNy/_new 2015-09-11 09:01:00.000000000 +0200
@@ -27,7 +27,7 @@
Name: kiwi
License: GPL-2.0
Group: System/Management
-Version: 7.03.14
+Version: 7.03.15
Provides: kiwi-schema = 6.2
Provides: kiwi-image:aci
Provides: kiwi-image:lxc
++++++ kiwi-docu.tar.bz2 ++++++
++++++ kiwi-repo.tar.bz2 ++++++
++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2014-12-15 14:32:44.000000000 +0100
+++ new/kiwi/.revision 2014-12-15 14:32:44.000000000 +0100
@@ -1 +1 @@
-1f478cf99e795a2e5b81ea5585f5e39b25c499d4
+fb9d29f006908e3cd062dd3a1308b6e18ad7bdec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIGlobals.pm new/kiwi/modules/KIWIGlobals.pm
--- old/kiwi/modules/KIWIGlobals.pm 2015-08-24 11:16:44.000000000 +0200
+++ new/kiwi/modules/KIWIGlobals.pm 2015-08-27 11:11:02.000000000 +0200
@@ -1933,7 +1933,7 @@
# Globals (generic)
#------------------------------------------
my %data;
- $data{Version} = "7.03.14";
+ $data{Version} = "7.03.15";
$data{Publisher} = "SUSE LINUX GmbH";
$data{Preparer} = "KIWI - http://opensuse.github.com/kiwi";
$data{ConfigName} = "config.xml";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIProfileFile.pm new/kiwi/modules/KIWIProfileFile.pm
--- old/kiwi/modules/KIWIProfileFile.pm 2015-07-27 11:10:03.000000000 +0200
+++ new/kiwi/modules/KIWIProfileFile.pm 2015-08-27 10:55:30.000000000 +0200
@@ -379,6 +379,8 @@
$type -> getCompressed();
$data{kiwi_boot_timeout} =
$type -> getBootTimeout();
+ $data{kiwi_wwid_wait_timeout} =
+ $type -> getWWIDWaitTimeout();
$data{kiwi_hybrid} =
$type -> getHybrid();
$data{kiwi_hybridpersistent} =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWISchema.rnc new/kiwi/modules/KIWISchema.rnc
--- old/kiwi/modules/KIWISchema.rnc 2015-07-24 14:12:45.000000000 +0200
+++ new/kiwi/modules/KIWISchema.rnc 2015-08-27 10:53:16.000000000 +0200
@@ -1860,6 +1860,11 @@
## Specifies the volume ID (volume name or label) to be written
## into the master block. There is space for 32 characters.
attribute volid { text }
+ k.type.wwid_wait_timeout.attribute =
+ ## Specifies the wait period in seconds after launching
+ ## the multipath daemon to wait until all presented devices
+ ## are available on the host. Default timeout is 3 seconds
+ attribute wwid_wait_timeout { xsd:nonNegativeInteger }
k.type.attlist =
k.type.boot.attribute? &
k.type.bootfilesystem.attribute? &
@@ -1905,6 +1910,7 @@
k.type.vga.attribute? &
k.type.vhdfixedtag.attribute? &
k.type.volid.attribute? &
+ k.type.wwid_wait_timeout.attribute? &
k.type.zfsoptions.attribute?
k.type =
## The Image Type of the Logical Extend
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWISchema.rng new/kiwi/modules/KIWISchema.rng
--- old/kiwi/modules/KIWISchema.rng 2015-07-24 14:57:55.000000000 +0200
+++ new/kiwi/modules/KIWISchema.rng 2015-08-27 10:53:19.000000000 +0200
@@ -2542,6 +2542,14 @@
into the master block. There is space for 32 characters.</a:documentation>
</attribute>
</define>
+ <define name="k.type.wwid_wait_timeout.attribute">
+ <attribute name="wwid_wait_timeout">
+ <a:documentation>Specifies the wait period in seconds after launching
+the multipath daemon to wait until all presented devices
+are available on the host. Default timeout is 3 seconds</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
<define name="k.type.attlist">
<interleave>
<optional>
@@ -2675,6 +2683,9 @@
<ref name="k.type.volid.attribute"/>
</optional>
<optional>
+ <ref name="k.type.wwid_wait_timeout.attribute"/>
+ </optional>
+ <optional>
<ref name="k.type.zfsoptions.attribute"/>
</optional>
</interleave>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXML.pm new/kiwi/modules/KIWIXML.pm
--- old/kiwi/modules/KIWIXML.pm 2015-07-30 17:29:26.000000000 +0200
+++ new/kiwi/modules/KIWIXML.pm 2015-08-27 10:53:24.000000000 +0200
@@ -3947,6 +3947,7 @@
'vga',
'vhdfixedtag',
'volid',
+ 'wwid_wait_timeout',
'zfsoptions',
'zipl_targettype'
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIXMLTypeData.pm new/kiwi/modules/KIWIXMLTypeData.pm
--- old/kiwi/modules/KIWIXMLTypeData.pm 2015-07-23 16:27:34.000000000 +0200
+++ new/kiwi/modules/KIWIXMLTypeData.pm 2015-08-27 10:53:47.000000000 +0200
@@ -99,6 +99,7 @@
# vga = ''
# vhdfixedtag = ''
# volid = ''
+ # wwid_wait_timeout = ''
# zipl_targettype = ''
# }
# ---
@@ -169,6 +170,7 @@
vga
vhdfixedtag
volid
+ wwid_wait_timeout
zipl_targettype
);
$this->{supportedKeywords} = \%keywords;
@@ -233,6 +235,7 @@
$this->{vga} = $init->{vga};
$this->{vhdfixedtag} = $init->{vhdfixedtag};
$this->{volid} = $init->{volid};
+ $this->{wwid_wait_timeout} = $init->{wwid_wait_timeout};
$this->{target_blocksize} = $init->{target_blocksize};
$this->{zfsoptions} = $init->{zfsoptions};
# Set default values
@@ -377,6 +380,14 @@
}
#==========================================
+# getWWIDWaitTimeout
+#------------------------------------------
+sub getWWIDWaitTimeout {
+ my $this = shift;
+ return $this->{wwid_wait_timeout};
+}
+
+#==========================================
# getCheckPrebuilt
#------------------------------------------
sub getCheckPrebuilt {
@@ -938,6 +949,10 @@
if ($bTime) {
$element -> setAttribute('boottimeout', $bTime);
}
+ my $wwidwait = $this -> getWWIDWaitTimeout();
+ if ($wwidwait) {
+ $element -> setAttribute('wwid_wait_timeout', $wwidwait);
+ }
my $cPreb = $this -> getCheckPrebuilt();
if ($cPreb) {
$element -> setAttribute('checkprebuilt', $cPreb);
@@ -1290,6 +1305,27 @@
return $this;
}
+#==========================================
+# setWWIDWaitTimeout
+#------------------------------------------
+sub setWWIDWaitTimeout {
+ # ...
+ # Set the configuration for the wwid wait timeout
+ # ---
+ my $this = shift;
+ my $time = shift;
+ if (! $time) {
+ my $kiwi = $this->{kiwi};
+ my $msg = 'setWWIDWaitTimeout: no timeout value given, retaining '
+ . 'current data.';
+ $kiwi -> error($msg);
+ $kiwi -> failed();
+ return;
+ }
+ $this->{wwid_wait_timeout} = $time;
+ return $this;
+}
+
#==========================================
# setCheckPrebuilt
#------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/armv7l/oemboot/suse-dump new/kiwi/system/boot/armv7l/oemboot/suse-dump
--- old/kiwi/system/boot/armv7l/oemboot/suse-dump 2015-07-28 12:07:26.000000000 +0200
+++ new/kiwi/system/boot/armv7l/oemboot/suse-dump 2015-08-27 10:58:27.000000000 +0200
@@ -976,6 +976,7 @@
local device_disks_new
local disk
local wwn
+ local wwid_timeout=3
#======================================
# check the tools
#--------------------------------------
@@ -1015,7 +1016,10 @@
# sleep for a while
#--------------------------------------
# make sure /etc/multipath/wwids are written
- sleep 3
+ if [ ! -z "$kiwi_wwid_wait_timeout" ];then
+ wwid_timeout=$kiwi_wwid_wait_timeout
+ fi
+ sleep $wwid_timeout
#======================================
# strip list of disk devices
#--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/oemboot/rhel-dump new/kiwi/system/boot/ix86/oemboot/rhel-dump
--- old/kiwi/system/boot/ix86/oemboot/rhel-dump 2015-07-28 11:40:47.000000000 +0200
+++ new/kiwi/system/boot/ix86/oemboot/rhel-dump 2015-08-27 10:57:57.000000000 +0200
@@ -976,6 +976,7 @@
local device_disks_new
local disk
local wwn
+ local wwid_timeout=3
#======================================
# check the tools
#--------------------------------------
@@ -1015,7 +1016,10 @@
# sleep for a while
#--------------------------------------
# make sure /etc/multipath/wwids are written
- sleep 3
+ if [ ! -z "$kiwi_wwid_wait_timeout" ];then
+ wwid_timeout=$kiwi_wwid_wait_timeout
+ fi
+ sleep $wwid_timeout
#======================================
# strip list of disk devices
#--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ix86/oemboot/suse-dump new/kiwi/system/boot/ix86/oemboot/suse-dump
--- old/kiwi/system/boot/ix86/oemboot/suse-dump 2015-07-28 10:48:59.000000000 +0200
+++ new/kiwi/system/boot/ix86/oemboot/suse-dump 2015-08-27 10:57:06.000000000 +0200
@@ -976,6 +976,7 @@
local device_disks_new
local disk
local wwn
+ local wwid_timeout=3
#======================================
# check the tools
#--------------------------------------
@@ -1015,7 +1016,10 @@
# sleep for a while
#--------------------------------------
# make sure /etc/multipath/wwids are written
- sleep 3
+ if [ ! -z "$kiwi_wwid_wait_timeout" ];then
+ wwid_timeout=$kiwi_wwid_wait_timeout
+ fi
+ sleep $wwid_timeout
#======================================
# strip list of disk devices
#--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/ppc/oemboot/suse-dump new/kiwi/system/boot/ppc/oemboot/suse-dump
--- old/kiwi/system/boot/ppc/oemboot/suse-dump 2015-07-28 12:07:20.000000000 +0200
+++ new/kiwi/system/boot/ppc/oemboot/suse-dump 2015-08-27 10:58:22.000000000 +0200
@@ -976,6 +976,7 @@
local device_disks_new
local disk
local wwn
+ local wwid_timeout=3
#======================================
# check the tools
#--------------------------------------
@@ -1015,7 +1016,10 @@
# sleep for a while
#--------------------------------------
# make sure /etc/multipath/wwids are written
- sleep 3
+ if [ ! -z "$kiwi_wwid_wait_timeout" ];then
+ wwid_timeout=$kiwi_wwid_wait_timeout
+ fi
+ sleep $wwid_timeout
#======================================
# strip list of disk devices
#--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/system/boot/s390/oemboot/suse-dump new/kiwi/system/boot/s390/oemboot/suse-dump
--- old/kiwi/system/boot/s390/oemboot/suse-dump 2015-07-28 12:07:15.000000000 +0200
+++ new/kiwi/system/boot/s390/oemboot/suse-dump 2015-08-27 10:58:17.000000000 +0200
@@ -976,6 +976,7 @@
local device_disks_new
local disk
local wwn
+ local wwid_timeout=3
#======================================
# check the tools
#--------------------------------------
@@ -1015,7 +1016,10 @@
# sleep for a while
#--------------------------------------
# make sure /etc/multipath/wwids are written
- sleep 3
+ if [ ! -z "$kiwi_wwid_wait_timeout" ];then
+ wwid_timeout=$kiwi_wwid_wait_timeout
+ fi
+ sleep $wwid_timeout
#======================================
# strip list of disk devices
#--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm new/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm
--- old/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm 2015-07-23 16:19:46.000000000 +0200
+++ new/kiwi/tests/unit/lib/Test/kiwiXMLTypeData.pm 2015-08-27 11:05:10.000000000 +0200
@@ -1039,6 +1039,27 @@
}
#==========================================
+# test_getWWIDWaitTimeout
+#------------------------------------------
+sub test_getWWIDWaitTimeout {
+ # ...
+ # Test the getWWIDWaitTimeout method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $typeDataObj = $this -> __getTypeObj();
+ my $time = $typeDataObj -> getWWIDWaitTimeout();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ $this -> assert_str_equals('42', $time);
+ return;
+}
+
+#==========================================
# test_getCheckPrebuilt
#------------------------------------------
sub test_getCheckPrebuilt {
@@ -1941,6 +1962,7 @@
. 'bootpartition="true" '
. 'bootprofile="std" '
. 'boottimeout="5" '
+ . 'wwid_wait_timeout="42" '
. 'checkprebuilt="true" '
. 'compressed="true" '
. 'container="mycont" '
@@ -2548,6 +2570,35 @@
}
#==========================================
+# test_setWWIDWaitTimeout
+#------------------------------------------
+sub test_setWWIDWaitTimeout {
+ # ...
+ # Test the setWWIDWaitTimeout method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $typeDataObj = $this -> __getTypeObj();
+ $typeDataObj = $typeDataObj -> setWWIDWaitTimeout('2');
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ $this -> assert_not_null($typeDataObj);
+ my $time = $typeDataObj -> getWWIDWaitTimeout();
+ $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ $this -> assert_str_equals('2', $time);
+ return;
+}
+
+#==========================================
# test_setBootTimeoutNoArg
#------------------------------------------
sub test_setBootTimeoutNoArg {
@@ -5389,6 +5440,7 @@
bootpartsize => '512',
bootprofile => 'std',
boottimeout => '5',
+ wwid_wait_timeout => '42',
checkprebuilt => 'true',
compressed => 'true',
container => 'mycont',
1
0
Hello community,
here is the log from the commit of package libstorage for openSUSE:Factory checked in at 2015-09-11 09:00:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage (Old)
and /work/SRC/openSUSE:Factory/.libstorage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage/libstorage.changes 2015-08-27 08:54:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libstorage.new/libstorage.changes 2015-09-11 09:00:49.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 01 14:47:40 CEST 2015 - aschnell(a)suse.com
+
+- allow to override EFI detection with env var EFI (bsc#937067)
+- 2.25.30
+
+-------------------------------------------------------------------
Old:
----
libstorage-2.25.29.tar.bz2
New:
----
libstorage-2.25.30.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.5fVTgy/_old 2015-09-11 09:00:50.000000000 +0200
+++ /var/tmp/diff_new_pack.5fVTgy/_new 2015-09-11 09:00:50.000000000 +0200
@@ -17,7 +17,7 @@
Name: libstorage
-Version: 2.25.29
+Version: 2.25.30
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: libstorage-%{version}.tar.bz2
++++++ libstorage-2.25.29.tar.bz2 -> libstorage-2.25.30.tar.bz2 ++++++
++++ 27320 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package file-roller for openSUSE:Factory checked in at 2015-09-11 09:00:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/file-roller (Old)
and /work/SRC/openSUSE:Factory/.file-roller.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file-roller"
Changes:
--------
--- /work/SRC/openSUSE:Factory/file-roller/file-roller.changes 2015-07-05 17:55:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.file-roller.new/file-roller.changes 2015-09-11 09:00:42.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Sep 1 11:12:54 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 3.16.4:
+ + Better rar support when unrar is installed.
+ + Crashes on drag'n'drop (bgo#746236).
+ + Fixed possible crash (bgo#753951).
+ + Mac OS X compilation fixes.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
file-roller-3.16.3.tar.xz
New:
----
file-roller-3.16.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ file-roller.spec ++++++
--- /var/tmp/diff_new_pack.EvDZNx/_old 2015-09-11 09:00:43.000000000 +0200
+++ /var/tmp/diff_new_pack.EvDZNx/_new 2015-09-11 09:00:43.000000000 +0200
@@ -17,7 +17,7 @@
Name: file-roller
-Version: 3.16.3
+Version: 3.16.4
Release: 0
Summary: An Archive Manager for GNOME
License: GPL-2.0+
++++++ file-roller-3.16.3.tar.xz -> file-roller-3.16.4.tar.xz ++++++
++++ 2649 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package unixODBC for openSUSE:Factory checked in at 2015-09-11 09:00:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/unixODBC (Old)
and /work/SRC/openSUSE:Factory/.unixODBC.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unixODBC"
Changes:
--------
--- /work/SRC/openSUSE:Factory/unixODBC/unixODBC.changes 2015-08-27 08:54:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.unixODBC.new/unixODBC.changes 2015-09-11 09:00:36.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 1 11:42:38 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 2.3.4:
+ * Fix typo in the loading of the cursor lib
+
+-------------------------------------------------------------------
Old:
----
unixODBC-2.3.3.tar.gz
New:
----
unixODBC-2.3.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ unixODBC.spec ++++++
--- /var/tmp/diff_new_pack.mONIBP/_old 2015-09-11 09:00:37.000000000 +0200
+++ /var/tmp/diff_new_pack.mONIBP/_new 2015-09-11 09:00:37.000000000 +0200
@@ -17,7 +17,7 @@
Name: unixODBC
-Version: 2.3.3
+Version: 2.3.4
Release: 0
Summary: ODBC driver manager with some drivers included
License: GPL-2.0+ and LGPL-2.1+
++++++ unixODBC-2.3.3.tar.gz -> unixODBC-2.3.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unixODBC-2.3.3/ChangeLog new/unixODBC-2.3.4/ChangeLog
--- old/unixODBC-2.3.3/ChangeLog 2015-08-22 18:40:04.000000000 +0200
+++ new/unixODBC-2.3.4/ChangeLog 2015-08-31 12:06:00.000000000 +0200
@@ -1,4 +1,9 @@
-2.3.4pre
+32st-Aug-2015
+2.3.4
+
+ * Fix typo in the loading of the cursor lib, reports
+
+ internal error, unexpected SHLIBEXT
2nd-Aug-2015
2.3.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unixODBC-2.3.3/DriverManager/SQLConnect.c new/unixODBC-2.3.4/DriverManager/SQLConnect.c
--- old/unixODBC-2.3.3/DriverManager/SQLConnect.c 2015-08-22 18:39:05.000000000 +0200
+++ new/unixODBC-2.3.4/DriverManager/SQLConnect.c 2015-08-31 11:59:27.000000000 +0200
@@ -2318,7 +2318,7 @@
}
else
{
- if ( strlen( SHLIBEXT ) + 1 < sizeof( ext )) {
+ if ( strlen( SHLIBEXT ) + 1 > sizeof( ext )) {
fprintf( stderr, "internal error, unexpected SHLIBEXT value ('%s') may indicate a problem with configure\n", SHLIBEXT );
abort();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unixODBC-2.3.3/configure new/unixODBC-2.3.4/configure
--- old/unixODBC-2.3.3/configure 2015-08-22 18:40:56.000000000 +0200
+++ new/unixODBC-2.3.4/configure 2015-08-31 12:06:19.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for unixODBC 2.3.3.
+# Generated by GNU Autoconf 2.68 for unixODBC 2.3.4.
#
# Report bugs to <nick(a)unixodbc.org>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='unixODBC'
PACKAGE_TARNAME='unixODBC'
-PACKAGE_VERSION='2.3.3'
-PACKAGE_STRING='unixODBC 2.3.3'
+PACKAGE_VERSION='2.3.4'
+PACKAGE_STRING='unixODBC 2.3.4'
PACKAGE_BUGREPORT='nick(a)unixodbc.org'
PACKAGE_URL=''
@@ -1379,7 +1379,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures unixODBC 2.3.3 to adapt to many kinds of systems.
+\`configure' configures unixODBC 2.3.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1449,7 +1449,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of unixODBC 2.3.3:";;
+ short | recursive ) echo "Configuration of unixODBC 2.3.4:";;
esac
cat <<\_ACEOF
@@ -1579,7 +1579,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-unixODBC configure 2.3.3
+unixODBC configure 2.3.4
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2226,7 +2226,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by unixODBC $as_me 2.3.3, which was
+It was created by unixODBC $as_me 2.3.4, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3041,7 +3041,7 @@
# Define the identity of the package.
PACKAGE='unixODBC'
- VERSION='2.3.3'
+ VERSION='2.3.4'
cat >>confdefs.h <<_ACEOF
@@ -17434,7 +17434,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by unixODBC $as_me 2.3.3, which was
+This file was extended by unixODBC $as_me 2.3.4, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17500,7 +17500,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-unixODBC config.status 2.3.3
+unixODBC config.status 2.3.4
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unixODBC-2.3.3/configure.ac new/unixODBC-2.3.4/configure.ac
--- old/unixODBC-2.3.3/configure.ac 2015-08-22 18:40:21.000000000 +0200
+++ new/unixODBC-2.3.4/configure.ac 2015-08-31 12:06:13.000000000 +0200
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([unixODBC], [2.3.3], nick(a)unixodbc.org, [unixODBC])
+AC_INIT([unixODBC], [2.3.4], nick(a)unixodbc.org, [unixODBC])
AM_INIT_AUTOMAKE
dnl Checks for programs.
1
0
Hello community,
here is the log from the commit of package emacs for openSUSE:Factory checked in at 2015-09-11 09:00:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/emacs (Old)
and /work/SRC/openSUSE:Factory/.emacs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "emacs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/emacs/emacs.changes 2015-08-10 09:11:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.emacs.new/emacs.changes 2015-09-11 09:00:25.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 1 10:05:35 UTC 2015 - werner(a)suse.de
+
+- Allow both Xft and as fallback the old X font scheme (boo#943793)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ app-defaults.Emacs ++++++
--- /var/tmp/diff_new_pack.1UWiaK/_old 2015-09-11 09:00:27.000000000 +0200
+++ /var/tmp/diff_new_pack.1UWiaK/_new 2015-09-11 09:00:27.000000000 +0200
@@ -7,7 +7,8 @@
! With GNU Emacs 24 Xft is used, therefore no fontsets are required. If you
! like to use fontsets you have to disable "FontBackend" and enable "Font".
-Emacs.FontBackend: xft
+! If Xft fails then X font scheme (including fontsets) is used as fallback.
+Emacs.FontBackend: xft,x
!!Emacs.Font: fontset-16
Emacs*Fontset-0:\
-*-fixed-medium-r-*--16-*-*-*-*-*-fontset-16,\
1
0
Hello community,
here is the log from the commit of package glibc for openSUSE:Factory checked in at 2015-09-11 09:00:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes 2015-08-21 07:37:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes 2015-09-11 09:00:11.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Sep 7 13:27:58 UTC 2015 - schwab(a)suse.de
+
+- opendir-o-directory-check.patch: Fix opendir inverted o_directory_works
+ test
+- static-dlopen.patch: Static dlopen default library search path fix
+ (bsc#937853)
+
+-------------------------------------------------------------------
+Mon Aug 31 12:21:29 UTC 2015 - schwab(a)suse.de
+
+- mntent-blank-line.patch: Fix memory corruption w/blank lines
+
+-------------------------------------------------------------------
glibc-utils.changes: same change
glibc.changes: same change
New:
----
mntent-blank-line.patch
opendir-o-directory-check.patch
static-dlopen.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.swxJpH/_old 2015-09-11 09:00:14.000000000 +0200
+++ /var/tmp/diff_new_pack.swxJpH/_new 2015-09-11 09:00:14.000000000 +0200
@@ -230,6 +230,14 @@
###
# Patches from upstream
###
+# PATCH-FIX-UPSTREAM Clear DF_1_NODELETE flag only for failed to load library (BZ #18778)
+Patch1000: dont-remove-nodelete-flag.patch
+# PATCH-FIX-UPSTREAM Readd O_LARGEFILE flag for openat64 (BZ #18781)
+Patch1001: openat64-readd-o-largefile.patch
+# PATCH-FIX-UPSTREAM getmntent: fix memory corruption w/blank lines (BZ #18887)
+Patch1002: mntent-blank-line.patch
+# PATCH-FIX-UPSTREAM Fix opendir inverted o_directory_works test (BZ #18921)
+Patch1003: opendir-o-directory-check.patch
###
# Patches awaiting upstream approval
@@ -244,10 +252,8 @@
Patch2005: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
Patch2006: ibm93x-redundant-shift-si.patch
-# BZ #18778
-Patch2007: dont-remove-nodelete-flag.patch
-# BZ #18781
-Patch2008: openat64-readd-o-largefile.patch
+# PATCH-FIX-UPSTREAM Static dlopen default library search path fix (BZ #17250)
+Patch2007: static-dlopen.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -447,13 +453,17 @@
%patch304 -p1
%patch306 -p1
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
+%patch1003 -p1
+
%patch2000 -p1
%patch2002 -p1
%patch2003 -p1
%patch2005 -p1
%patch2006 -p1
%patch2007 -p1
-%patch2008 -p1
%patch3000
glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.swxJpH/_old 2015-09-11 09:00:14.000000000 +0200
+++ /var/tmp/diff_new_pack.swxJpH/_new 2015-09-11 09:00:14.000000000 +0200
@@ -230,6 +230,14 @@
###
# Patches from upstream
###
+# PATCH-FIX-UPSTREAM Clear DF_1_NODELETE flag only for failed to load library (BZ #18778)
+Patch1000: dont-remove-nodelete-flag.patch
+# PATCH-FIX-UPSTREAM Readd O_LARGEFILE flag for openat64 (BZ #18781)
+Patch1001: openat64-readd-o-largefile.patch
+# PATCH-FIX-UPSTREAM getmntent: fix memory corruption w/blank lines (BZ #18887)
+Patch1002: mntent-blank-line.patch
+# PATCH-FIX-UPSTREAM Fix opendir inverted o_directory_works test (BZ #18921)
+Patch1003: opendir-o-directory-check.patch
###
# Patches awaiting upstream approval
@@ -244,10 +252,8 @@
Patch2005: glibc-memset-nontemporal.diff
# PATCH-FIX-UPSTREAM Avoid redundant shift character in iconv output at block boundary (BZ #17197)
Patch2006: ibm93x-redundant-shift-si.patch
-# BZ #18778
-Patch2007: dont-remove-nodelete-flag.patch
-# BZ #18781
-Patch2008: openat64-readd-o-largefile.patch
+# PATCH-FIX-UPSTREAM Static dlopen default library search path fix (BZ #17250)
+Patch2007: static-dlopen.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -447,13 +453,17 @@
%patch304 -p1
%patch306 -p1
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
+%patch1003 -p1
+
%patch2000 -p1
%patch2002 -p1
%patch2003 -p1
%patch2005 -p1
%patch2006 -p1
%patch2007 -p1
-%patch2008 -p1
%patch3000
++++++ mntent-blank-line.patch ++++++
2015-08-28 Mike Frysinger <vapier(a)gentoo.org>
[BZ #18887]
* misc/Makefile (tests): Add tst-mntent-blank-corrupt and
tst-mntent-blank-passno.
* misc/mntent_r.c (__getmntent_r): Do not read past buffer[0].
* misc/tst-mntent-blank-corrupt.c: New test.
* misc/tst-mntent-blank-passno.c: New test ripped from ...
* misc/tst-mntent.c (do_test): ... here.
diff --git a/misc/Makefile b/misc/Makefile
index aecb0da..2f5edf6 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -76,7 +76,8 @@ install-lib := libg.a
gpl2lgpl := error.c error.h
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
- tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
+ tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
+ tst-mntent-blank-corrupt tst-mntent-blank-passno
ifeq ($(run-built-tests),yes)
tests-special += $(objpfx)tst-error1-mem.out
endif
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 6159873..4f26998 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -136,7 +136,9 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
end_ptr = strchr (buffer, '\n');
if (end_ptr != NULL) /* chop newline */
{
- while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
+ /* Do not walk past the start of buffer if it's all whitespace. */
+ while (end_ptr != buffer
+ && (end_ptr[-1] == ' ' || end_ptr[-1] == '\t'))
end_ptr--;
*end_ptr = '\0';
}
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
new file mode 100644
index 0000000..92266a3
--- /dev/null
+++ b/misc/tst-mntent-blank-corrupt.c
@@ -0,0 +1,45 @@
+/* Make sure blank lines does not cause memory corruption BZ #18887.
+
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <mntent.h>
+#include <stdio.h>
+#include <string.h>
+
+/* Make sure blank lines don't trigger memory corruption. This doesn't happen
+ for all targets though, so it's a best effort test BZ #18887. */
+static int
+do_test (void)
+{
+ FILE *fp;
+
+ fp = tmpfile ();
+ fputs ("\n \n/foo\\040dir /bar\\040dir auto bind \t \n", fp);
+ rewind (fp);
+
+ /* The corruption happens here ... */
+ getmntent (fp);
+ /* ... but trigers here. */
+ endmntent (fp);
+
+ /* If the test failed, we would crash, and not hit this point. */
+ return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/misc/tst-mntent-blank-passno.c b/misc/tst-mntent-blank-passno.c
new file mode 100644
index 0000000..fc04291
--- /dev/null
+++ b/misc/tst-mntent-blank-passno.c
@@ -0,0 +1,53 @@
+/* Make sure trailing whitespace is handled properly BZ #17273.
+
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#include <mntent.h>
+#include <stdio.h>
+#include <string.h>
+
+/* Check entries to make sure trailing whitespace is ignored and we return the
+ correct passno value BZ #17273. */
+static int
+do_test (void)
+{
+ int result = 0;
+ FILE *fp;
+ struct mntent *mnt;
+
+ fp = tmpfile ();
+ fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
+ rewind (fp);
+
+ mnt = getmntent (fp);
+ if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
+ || strcmp (mnt->mnt_dir, "/bar dir") != 0
+ || strcmp (mnt->mnt_type, "auto") != 0
+ || strcmp (mnt->mnt_opts, "bind") != 0
+ || mnt->mnt_freq != 0
+ || mnt->mnt_passno != 0)
+ {
+ puts ("Error while reading entry with trailing whitespaces");
+ result = 1;
+ }
+
+ return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/misc/tst-mntent.c b/misc/tst-mntent.c
index 932fd3f..b6ad8af 100644
--- a/misc/tst-mntent.c
+++ b/misc/tst-mntent.c
@@ -73,26 +73,6 @@ do_test (void)
puts ("Error while reading written entry back in");
result = 1;
}
-
- /* Part III: Entry with whitespaces at the end of a line. */
- rewind (fp);
-
- fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
-
- rewind (fp);
-
- mnt = getmntent (fp);
-
- if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
- || strcmp (mnt->mnt_dir, "/bar dir") != 0
- || strcmp (mnt->mnt_type, "auto") != 0
- || strcmp (mnt->mnt_opts, "bind") != 0
- || mnt->mnt_freq != 0
- || mnt->mnt_passno != 0)
- {
- puts ("Error while reading entry with trailing whitespaces");
- result = 1;
- }
}
return result;
--
2.5.1
++++++ opendir-o-directory-check.patch ++++++
2015-09-04 Roland McGrath <roland(a)hack.frob.com>
[BZ #18921]
* sysdeps/posix/opendir.c (need_isdir_precheck) [O_DIRECTORY]:
Fix inverted sense of test of 'o_directory_works' value.
Reported by Pádraig Brady <P(a)draigBrady.com>, diagnosed by
Bernhard Voelker <mail(a)bernhard-voelker.de>.
Index: glibc-2.22/sysdeps/posix/opendir.c
===================================================================
--- glibc-2.22.orig/sysdeps/posix/opendir.c
+++ glibc-2.22/sysdeps/posix/opendir.c
@@ -105,7 +105,7 @@ need_isdir_precheck (void)
tryopen_o_directory ();
/* We can skip the expensive `stat' call if O_DIRECTORY works. */
- return o_directory_works > 0;
+ return o_directory_works < 0;
#endif
return true;
}
++++++ static-dlopen.patch ++++++
2015-08-04 Maciej W. Rozycki <macro(a)linux-mips.org>
[BZ #17250]
* elf/dl-support.c (_dl_main_map): Don't initialize l_flags_1
member.
Index: glibc-2.22/elf/dl-support.c
===================================================================
--- glibc-2.22.orig/elf/dl-support.c
+++ glibc-2.22/elf/dl-support.c
@@ -91,7 +91,6 @@ static struct link_map _dl_main_map =
.l_scope = _dl_main_map.l_scope_mem,
.l_local_scope = { &_dl_main_map.l_searchlist },
.l_used = 1,
- .l_flags_1 = DF_1_NODEFLIB,
.l_tls_offset = NO_TLS_OFFSET,
.l_serial = 1,
};
1
0
Hello community,
here is the log from the commit of package bash for openSUSE:Factory checked in at 2015-09-11 09:00:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
and /work/SRC/openSUSE:Factory/.bash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes 2015-07-21 13:23:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes 2015-09-11 09:00:04.000000000 +0200
@@ -1,0 +2,21 @@
+Mon Aug 31 11:23:11 UTC 2015 - werner(a)suse.de
+
+- Add upstream patch bash43-039
+ Using the output of `declare -p' when run in a function can result in variables
+ that are invisible to `declare -p'. This problem occurs when an assignment
+ builtin such as `declare' receives a quoted compound array assignment as one of
+ its arguments.
+- Add upstream patch bash43-040
+ There is a memory leak that occurs when bash expands an array reference on
+ the rhs of an assignment statement.
+- Add upstream patch bash43-041
+ There are several out-of-bounds read errors that occur when completing command
+ lines where assignment statements appear before the command name. The first
+ two appear only when programmable completion is enabled; the last one only
+ happens when listing possible completions.
+- Add upstream patch bash43-042
+ There is a problem when parsing command substitutions containing `case'
+ commands within pipelines that causes the parser to not correctly identify
+ the end of the command substitution.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bash-4.3-patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-028 new/bash-4.3-patches/bash43-028
--- old/bash-4.3-patches/bash43-028 2014-10-01 19:29:53.000000000 +0200
+++ new/bash-4.3-patches/bash43-028 2015-08-31 13:33:17.000000000 +0200
@@ -16,7 +16,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400
+*** parse.y 2014-09-25 23:02:35.000000000 -0400
--- parse.y 2014-09-29 16:47:03.000000000 -0400
***************
*** 169,172 ****
@@ -156,7 +156,7 @@
+
void
gather_here_documents ()
-*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400
+*** y.tab.c 2014-10-01 11:38:24.000000000 -0400
--- y.tab.c 2014-10-01 12:46:11.000000000 -0400
***************
*** 169,173 ****
@@ -2248,7 +2248,7 @@
}
#endif /* HANDLE_MULTIBYTE */
+
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-029 new/bash-4.3-patches/bash43-029
--- old/bash-4.3-patches/bash43-029 2014-10-03 04:14:34.000000000 +0200
+++ new/bash-4.3-patches/bash43-029 2015-08-31 13:33:17.000000000 +0200
@@ -17,7 +17,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500
+*** make_cmd.c 2011-12-16 08:08:01.000000000 -0500
--- make_cmd.c 2014-10-02 11:24:23.000000000 -0400
***************
*** 693,696 ****
@@ -27,7 +27,7 @@
+ temp->here_doc_eof = 0;
temp->instruction = instruction;
temp->flags = 0;
-*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400
+*** copy_cmd.c 2009-09-11 16:28:02.000000000 -0400
--- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400
***************
*** 127,131 ****
@@ -42,7 +42,7 @@
! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0;
/*FALLTHROUGH*/
case r_reading_string:
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-030 new/bash-4.3-patches/bash43-030
--- old/bash-4.3-patches/bash43-030 2014-10-06 01:01:17.000000000 +0200
+++ new/bash-4.3-patches/bash43-030 2015-08-31 13:33:18.000000000 +0200
@@ -16,7 +16,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400
+*** builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400
--- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400
***************
*** 309,318 ****
@@ -70,7 +70,7 @@
! }
}
}
-*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400
+*** parse.y 2014-10-01 12:58:43.000000000 -0400
--- parse.y 2014-10-03 14:48:59.000000000 -0400
***************
*** 2539,2542 ****
@@ -104,7 +104,7 @@
! token_to_read = 0;
/* Need to find how many characters parse_and_execute consumed, update
-*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400
+*** shell.h 2014-10-01 12:57:39.000000000 -0400
--- shell.h 2014-10-03 14:49:12.000000000 -0400
***************
*** 181,184 ****
@@ -115,7 +115,7 @@
+
extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
extern void restore_parser_state __P((sh_parser_state_t *));
-*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400
+*** y.tab.c 2014-10-01 13:09:46.000000000 -0400
--- y.tab.c 2014-10-04 19:26:22.000000000 -0400
***************
*** 169,173 ****
@@ -2047,7 +2047,7 @@
! token_to_read = 0;
/* Need to find how many characters parse_and_execute consumed, update
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-031 new/bash-4.3-patches/bash43-031
--- old/bash-4.3-patches/bash43-031 2014-12-30 16:40:23.000000000 +0100
+++ new/bash-4.3-patches/bash43-031 2015-08-31 13:33:18.000000000 +0200
@@ -16,7 +16,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
+*** subst.h 2014-01-11 21:02:27.000000000 -0500
--- subst.h 2014-09-01 12:16:56.000000000 -0400
***************
*** 48,51 ****
@@ -26,7 +26,7 @@
+ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */
/* Flags for the string extraction functions. */
-*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400
+*** variables.c 2014-05-15 08:26:50.000000000 -0400
--- variables.c 2014-09-01 14:37:44.000000000 -0400
***************
*** 2504,2511 ****
@@ -95,7 +95,7 @@
! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF));
}
else
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-032 new/bash-4.3-patches/bash43-032
--- old/bash-4.3-patches/bash43-032 2014-12-29 20:45:50.000000000 +0100
+++ new/bash-4.3-patches/bash43-032 2015-08-31 13:33:18.000000000 +0200
@@ -17,7 +17,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400
+*** jobs.c 2014-05-14 09:20:15.000000000 -0400
--- jobs.c 2014-09-09 11:50:38.000000000 -0400
***************
*** 3340,3344 ****
@@ -34,7 +34,7 @@
! queue_sigchld_trap (children_exited);
wait_signal_received = SIGCHLD;
/* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-033 new/bash-4.3-patches/bash43-033
--- old/bash-4.3-patches/bash43-033 2014-12-29 20:46:00.000000000 +0100
+++ new/bash-4.3-patches/bash43-033 2015-08-31 13:33:18.000000000 +0200
@@ -20,7 +20,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500
+*** shell.c 2014-01-14 08:04:32.000000000 -0500
--- shell.c 2014-12-22 10:27:50.000000000 -0500
***************
*** 74,77 ****
@@ -45,7 +45,7 @@
+
/* Do trap[0] if defined. Allow it to override the exit status
passed to us. */
-*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400
+*** builtins/read.def 2014-10-01 12:57:38.000000000 -0400
--- builtins/read.def 2014-12-22 10:48:54.000000000 -0500
***************
*** 141,148 ****
@@ -150,7 +150,7 @@
+ return (tty_modified);
}
-*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400
+*** builtins/common.h 2014-10-01 12:57:47.000000000 -0400
--- builtins/common.h 2014-12-22 10:10:14.000000000 -0500
***************
*** 123,126 ****
@@ -163,7 +163,7 @@
+
/* Functions from set.def */
extern int minus_o_option_value __P((char *));
-*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400
+*** bashline.c 2014-05-14 09:22:39.000000000 -0400
--- bashline.c 2014-09-08 11:28:56.000000000 -0400
***************
*** 203,206 ****
@@ -189,7 +189,7 @@
! if (terminating_signal || interrupt_state || sigalrm_seen)
rl_cleanup_after_signal ();
bashline_reset_event_hook ();
-*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500
+*** sig.c 2014-01-10 15:06:06.000000000 -0500
--- sig.c 2014-09-08 11:26:33.000000000 -0400
***************
*** 533,538 ****
@@ -208,7 +208,7 @@
! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED))
bashline_set_event_hook ();
#endif
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-034 new/bash-4.3-patches/bash43-034
--- old/bash-4.3-patches/bash43-034 2015-05-19 20:52:17.000000000 +0200
+++ new/bash-4.3-patches/bash43-034 2015-08-31 13:33:18.000000000 +0200
@@ -16,7 +16,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400
+*** builtins/set.def 2013-04-19 07:20:34.000000000 -0400
--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400
***************
*** 752,758 ****
@@ -73,7 +73,7 @@
#if defined (ARRAY_VARS)
unset_array = 0;
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-035 new/bash-4.3-patches/bash43-035
--- old/bash-4.3-patches/bash43-035 2015-05-19 20:52:29.000000000 +0200
+++ new/bash-4.3-patches/bash43-035 2015-08-31 13:33:18.000000000 +0200
@@ -16,7 +16,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500
+*** lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500
--- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400
***************
*** 79,83 ****
@@ -46,7 +46,7 @@
! charsetbuf[sizeof (charsetbuf) - 1] = '\0';
return charsetbuf;
}
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-036 new/bash-4.3-patches/bash43-036
--- old/bash-4.3-patches/bash43-036 2015-05-19 20:52:40.000000000 +0200
+++ new/bash-4.3-patches/bash43-036 2015-08-31 13:33:18.000000000 +0200
@@ -40,7 +40,7 @@
! }
return (v);
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-037 new/bash-4.3-patches/bash43-037
--- old/bash-4.3-patches/bash43-037 2015-05-19 20:52:51.000000000 +0200
+++ new/bash-4.3-patches/bash43-037 2015-08-31 13:33:18.000000000 +0200
@@ -15,7 +15,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400
+*** assoc.c 2011-11-05 16:39:05.000000000 -0400
--- assoc.c 2015-02-04 15:28:25.000000000 -0500
***************
*** 437,440 ****
@@ -26,7 +26,7 @@
+ istr = sh_double_quote (tlist->key);
else
istr = tlist->key;
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-038 new/bash-4.3-patches/bash43-038
--- old/bash-4.3-patches/bash43-038 2015-05-19 21:48:37.000000000 +0200
+++ new/bash-4.3-patches/bash43-038 2015-08-31 13:33:18.000000000 +0200
@@ -15,7 +15,7 @@
Patch (apply with `patch -p0'):
-*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400
+*** parse.y 2014-04-07 11:56:12.000000000 -0400
--- parse.y 2014-06-11 10:25:53.000000000 -0400
***************
*** 2819,2827 ****
@@ -43,7 +43,7 @@
! case ')': /* only valid in case statement */
case BANG: /* ! time pipeline */
case TIME: /* time time pipeline */
-*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400
+*** y.tab.c 2014-10-05 13:52:50.000000000 -0400
--- y.tab.c 2015-05-19 15:08:43.000000000 -0400
***************
*** 5131,5139 ****
@@ -71,7 +71,7 @@
! case ')': /* only valid in case statement */
case BANG: /* ! time pipeline */
case TIME: /* time time pipeline */
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-039 new/bash-4.3-patches/bash43-039
--- old/bash-4.3-patches/bash43-039 2015-05-19 20:53:59.000000000 +0200
+++ new/bash-4.3-patches/bash43-039 2015-08-31 13:33:18.000000000 +0200
@@ -40,7 +40,7 @@
+
return (var);
}
-*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-040 new/bash-4.3-patches/bash43-040
--- old/bash-4.3-patches/bash43-040 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-4.3-patches/bash43-040 2015-08-31 13:33:18.000000000 +0200
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-040
+
+Bug-Reported-by: Jean Delvare <jdelvare(a)suse.de>
+Bug-Reference-ID: <20150609180231.5f463695(a)endymion.delvare>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html
+
+Bug-Description:
+
+There is a memory leak that occurs when bash expands an array reference on
+the rhs of an assignment statement.
+
+Patch (apply with `patch -p0'):
+
+*** subst.c 2014-10-01 12:57:47.000000000 -0400
+--- subst.c 2015-06-22 09:16:53.000000000 -0400
+***************
+*** 5783,5787 ****
+ if (pflags & PF_ASSIGNRHS)
+ {
+! temp = array_variable_name (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+--- 5783,5787 ----
+ if (pflags & PF_ASSIGNRHS)
+ {
+! var = array_variable_part (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-041 new/bash-4.3-patches/bash43-041
--- old/bash-4.3-patches/bash43-041 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-4.3-patches/bash43-041 2015-08-31 13:33:18.000000000 +0200
@@ -0,0 +1,72 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-041
+
+Bug-Reported-by: Hanno Böck <hanno(a)hboeck.de>
+Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html,
+ http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html
+
+Bug-Description:
+
+There are several out-of-bounds read errors that occur when completing command
+lines where assignment statements appear before the command name. The first
+two appear only when programmable completion is enabled; the last one only
+happens when listing possible completions.
+
+Patch (apply with `patch -p0'):
+
+*** bashline.c 2014-12-29 14:39:43.000000000 -0500
+--- bashline.c 2015-08-12 10:21:58.000000000 -0400
+***************
+*** 1469,1476 ****
+--- 1469,1489 ----
+ os = start;
+ n = 0;
++ was_assignment = 0;
+ s = find_cmd_start (os);
+ e = find_cmd_end (end);
+ do
+ {
++ /* Don't read past the end of rl_line_buffer */
++ if (s > rl_end)
++ {
++ s1 = s = e1;
++ break;
++ }
++ /* Or past point if point is within an assignment statement */
++ else if (was_assignment && s > rl_point)
++ {
++ s1 = s = e1;
++ break;
++ }
+ /* Skip over assignment statements preceding a command name. If we
+ don't find a command name at all, we can perform command name
+*** lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400
+--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400
+***************
+*** 690,693 ****
+--- 690,695 ----
+ if (temp == 0 || *temp == '\0')
+ return (pathname);
++ else if (temp[1] == 0 && temp == pathname)
++ return (pathname);
+ /* If the basename is NULL, we might have a pathname like '/usr/src/'.
+ Look for a previous slash and, if one is found, return the portion
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bash-4.3-patches/bash43-042 new/bash-4.3-patches/bash43-042
--- old/bash-4.3-patches/bash43-042 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-4.3-patches/bash43-042 2015-08-31 13:36:15.000000000 +0200
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-042
+
+Bug-Reported-by: Nathan Neulinger <nneul(a)neulinger.org>
+Bug-Reference-ID: <558EFDF2.7060402(a)neulinger.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html
+
+Bug-Description:
+
+There is a problem when parsing command substitutions containing `case'
+commands within pipelines that causes the parser to not correctly identify
+the end of the command substitution.
+
+Patch (apply with `patch -p0'):
+
+*** parse.y 2015-05-18 19:27:05.000000000 -0400
+--- parse.y 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 3709,3712 ****
+--- 3709,3714 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** y.tab.c 2015-05-18 19:27:05.000000000 -0400
+--- y.tab.c 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 6021,6024 ****
+--- 6021,6026 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
1
0
Hello community,
here is the log from the commit of package audit for openSUSE:Factory checked in at 2015-09-11 08:59:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/audit (Old)
and /work/SRC/openSUSE:Factory/.audit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "audit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/audit/audit-secondary.changes 2014-09-07 11:11:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.audit.new/audit-secondary.changes 2015-09-11 08:59:57.000000000 +0200
@@ -1,0 +2,12 @@
+Fri Aug 21 19:00:36 UTC 2015 - tonyj(a)suse.com
+
+- Update to version 2.4.4. See audit.spec (libaudit1) for upstream
+ changelog
+- Add python3 bindings for libaudit and libauparse
+- Remove patch 'audit-no_m4_dir.patch'
+ (added Fri Apr 26 11:14:39 UTC 2013 by mmeister(a)suse.com)
+ No idea what earlier 'automake' build error this was trying to fix but
+ it broke the handling of "--without-libcap-ng". Anyways, no build error
+ occurs now and m4 path is also needed in v2.4.4 to find ax_prog_cc_for_build
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/audit/audit.changes 2014-12-03 22:47:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.audit.new/audit.changes 2015-09-11 08:59:57.000000000 +0200
@@ -1,0 +2,47 @@
+Fri Aug 21 18:58:18 UTC 2015 - tonyj(a)suse.com
+
+- Update to version 2.4.4 (bsc#941922, CVE-2015-5186)
+- Remove patch 'audit-no_m4_dir.patch'
+ (added Fri Apr 26 11:14:39 UTC 2013 by mmeister(a)suse.com)
+ No idea what earlier 'automake' build error this was trying to fix but
+ it broke the handling of "--without-libcap-ng". Anyways, no build error
+ occurs now and m4 path is also needed in v2.4.4 to find ax_prog_cc_for_build
+- Require pkgconfig for build
+
+ Changelog 2.4.4
+ - Fix linked list correctness in ausearch/report
+ - Add more cross compile fixups (Clayton Shotwell)
+ - Update auparse python bindings
+ - Update libev to 4.20
+ - Fix CVE-2015-5186 Audit: log terminal emulator escape sequences handling
+
+ Changelog 2.4.3
+ - Add python3 support for libaudit
+ - Cleanup automake warnings
+ - Add AuParser_search_add_timestamp_item_ex to python bindings
+ - Add AuParser_get_type_name to python bindings
+ - Correct processing of obj_gid in auditctl (Aleksander Zdyb)
+ - Make plugin config file parsing more robust for long lines (#1235457)
+ - Make auditctl status print lost field as unsigned number
+ - Add interpretation mode for auditctl -s
+ - Add python3 support to auparse library
+ - Make --enable-zos-remote a build time configuration option (Clayton Shotwell)
+ - Updates for cross compiling (Clayton Shotwell)
+ - Add MAC_CHECK audit event type
+ - Add libauparse pkgconfig file (Aleksander Zdyb)
+
+ Changelog 2.4.2
+ - Ausearch should parse exe field in SECCOMP events
+ - Improve output for short mode interpretations in auparse
+ - Add CRYPTO_IKE_SA and CRYPTO_IPSEC_SA events
+ - If auditctl is reading rules from a file, send messages to syslog (#1144252)
+ - Correct lookup of ppc64le when determining machine type
+ - Increase time buffer for wide character numbers in ausearch/report (#1200314)
+ - In aureport, add USER_TTY events to tty report
+ - In audispd, limit reporting of queue full messages (#1203810)
+ - In auditctl, don't segfault when invalid options passed (#1206516)
+ - In autrace, remove some older unimplemented syscalls for aarch64 (#1185892)
+ - In auditctl, correct lookup of aarch64 in arch field (#1186313)
+ - Update lookup tables for 4.1 kernel
+
+-------------------------------------------------------------------
Old:
----
audit-2.4.1.tar.gz
audit-no_m4_dir.patch
New:
----
audit-2.4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ audit-secondary.spec ++++++
--- /var/tmp/diff_new_pack.lYojyV/_old 2015-09-11 08:59:58.000000000 +0200
+++ /var/tmp/diff_new_pack.lYojyV/_new 2015-09-11 08:59:58.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package audit-secondary
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -26,19 +26,19 @@
BuildRequires: openldap2-devel
BuildRequires: pkg-config
BuildRequires: python-devel
+BuildRequires: python3-devel
BuildRequires: swig
Summary: Secondary packages for audit
License: GPL-2.0+
Group: System/Monitoring
-Version: 2.4.1
+Version: 2.4.4
Release: 0
Url: http://people.redhat.com/sgrubb/audit/
Source0: http://people.redhat.com/sgrubb/audit/%{_name}-%{version}.tar.gz
Patch1: audit-plugins-path.patch
Patch2: audit-no-gss.patch
-Patch3: audit-no_m4_dir.patch
-Patch4: audit-allow-manual-stop.patch
-Patch5: audit-ausearch-do-not-require-tclass.patch
+Patch3: audit-allow-manual-stop.patch
+Patch4: audit-ausearch-do-not-require-tclass.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: audit-devel = %{version}
BuildRequires: autoconf >= 2.12
@@ -75,6 +75,16 @@
The audit-libs-python package contains the bindings for using libaudit
by python.
+%package -n audit-libs-python3
+Summary: Python3 Bindings for libaudit
+License: LGPL-2.1+
+Group: System/Monitoring
+%py_requires
+
+%description -n audit-libs-python3
+The audit-libs-python3 package contains the bindings for using libaudit
+by python3.
+
%package -n audit-audispd-plugins
Summary: Default plugins for the audit dispatcher
License: GPL-2.0+
@@ -95,7 +105,6 @@
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%build
autoreconf -fi
export CFLAGS="%{optflags} -fno-strict-aliasing"
@@ -131,14 +140,11 @@
# https://lists.fedoraproject.org/pipermail/devel/2012-June/169411.html
rm -rf $RPM_BUILD_ROOT/usr/lib/audit
# Clean up some unneeded library files
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/_audit.a
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/_audit.la
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/_auparse.a
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/_auparse.la
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/auparse.a
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/auparse.la
-rm -f $RPM_BUILD_ROOT/%{_libdir}/python%{py_ver}/site-packages/auparse-1.0-py%{py_ver}.egg-info
-rm -f $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/audit.pc
+for ver in %{py_ver} %{py3_ver}; do
+ rm -f $RPM_BUILD_ROOT/%{_libdir}/python${ver}/site-packages/{_audit,_auparse,auparse}.{a,la}
+ rm -f $RPM_BUILD_ROOT/%{_libdir}/python${ver}/site-packages/auparse-1.0-py${ver}.egg-info
+done
+rm -f $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/{audit,auparse}.pc
# cleanup files handled by audit.spec
rm -rf $RPM_BUILD_ROOT/%{_includedir}
rm -f $RPM_BUILD_ROOT/%{_libdir}/lib{audit,auparse}.*
@@ -243,6 +249,12 @@
%attr(755,root,root) %{_libdir}/python%{py_ver}/site-packages/auparse.so
%{_libdir}/python%{py_ver}/site-packages/audit.py*
+%files -n audit-libs-python3
+%defattr(-,root,root,-)
+%attr(755,root,root) %{_libdir}/python%{py3_ver}/site-packages/_audit.so
+%attr(755,root,root) %{_libdir}/python%{py3_ver}/site-packages/auparse.so
+%{_libdir}/python%{py3_ver}/site-packages/audit.py*
+
%files -n audit-audispd-plugins
%defattr(-,root,root,-)
%attr(644,root,root) %{_mandir}/man8/audispd-zos-remote.8.gz
++++++ audit.spec ++++++
--- /var/tmp/diff_new_pack.lYojyV/_old 2015-09-11 08:59:58.000000000 +0200
+++ /var/tmp/diff_new_pack.lYojyV/_new 2015-09-11 08:59:58.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package audit
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,18 +20,18 @@
Summary: First part of auditing package
License: GPL-2.0+
Group: System/Monitoring
-Version: 2.4.1
+Version: 2.4.4
Release: 0
Url: http://people.redhat.com/sgrubb/audit/
Source0: http://people.redhat.com/sgrubb/audit/%{name}-%{version}.tar.gz
Source1: baselibs.conf
Source2: README-BEFORE-ADDING-PATCHES
-Patch1: audit-no_m4_dir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.12
BuildRequires: gcc-c++
BuildRequires: kernel-headers >= 2.6.30
BuildRequires: libtool
+BuildRequires: pkgconfig
BuildRequires: tcpd-devel
Requires: %{name}-libs = %{version}
PreReq: %insserv_prereq %fillup_prereq
@@ -75,7 +75,6 @@
%prep
%setup -q -n %{name}-%{version}
-%patch1 -p1
%build
autoreconf -fi
@@ -138,5 +137,6 @@
%{_includedir}/auparse-defs.h
%{_mandir}/man3/*
%{_libdir}/pkgconfig/audit.pc
+%{_libdir}/pkgconfig/auparse.pc
%changelog
++++++ audit-2.4.1.tar.gz -> audit-2.4.4.tar.gz ++++++
++++ 25612 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package MyODBC-unixODBC for openSUSE:13.2:Update checked in at 2015-09-11 08:31:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/MyODBC-unixODBC (Old)
and /work/SRC/openSUSE:13.2:Update/.MyODBC-unixODBC.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MyODBC-unixODBC"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.IFLyvT/_old 2015-09-11 08:31:39.000000000 +0200
+++ /var/tmp/diff_new_pack.IFLyvT/_new 2015-09-11 08:31:39.000000000 +0200
@@ -1 +1 @@
-<link package='MyODBC-unixODBC.3745' cicount='copy' />
+<link package='MyODBC-unixODBC.3994' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package MyODBC-unixODBC for openSUSE:13.1:Update checked in at 2015-09-11 08:31:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/MyODBC-unixODBC (Old)
and /work/SRC/openSUSE:13.1:Update/.MyODBC-unixODBC.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MyODBC-unixODBC"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.cJiQRE/_old 2015-09-11 08:31:37.000000000 +0200
+++ /var/tmp/diff_new_pack.cJiQRE/_new 2015-09-11 08:31:37.000000000 +0200
@@ -1 +1 @@
-<link package='MyODBC-unixODBC.3745' cicount='copy' />
+<link package='MyODBC-unixODBC.3994' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package NetworkManager for openSUSE:13.2:Update checked in at 2015-09-11 08:31:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/NetworkManager (Old)
and /work/SRC/openSUSE:13.2:Update/.NetworkManager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.Mrma8g/_old 2015-09-11 08:31:24.000000000 +0200
+++ /var/tmp/diff_new_pack.Mrma8g/_new 2015-09-11 08:31:24.000000000 +0200
@@ -1 +1 @@
-<link package='NetworkManager.3923' cicount='copy' />
+<link package='NetworkManager.3995' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package gnome-control-center for openSUSE:13.2:Update checked in at 2015-09-11 08:30:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/gnome-control-center (Old)
and /work/SRC/openSUSE:13.2:Update/.gnome-control-center.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-control-center"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.73mQ5V/_old 2015-09-11 08:30:42.000000000 +0200
+++ /var/tmp/diff_new_pack.73mQ5V/_new 2015-09-11 08:30:42.000000000 +0200
@@ -1 +1 @@
-<link package='gnome-control-center.3782' cicount='copy' />
+<link package='gnome-control-center.4002' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package gnome-control-center for openSUSE:13.1:Update checked in at 2015-09-11 08:30:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/gnome-control-center (Old)
and /work/SRC/openSUSE:13.1:Update/.gnome-control-center.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-control-center"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.yLN3zR/_old 2015-09-11 08:30:40.000000000 +0200
+++ /var/tmp/diff_new_pack.yLN3zR/_new 2015-09-11 08:30:40.000000000 +0200
@@ -1 +1 @@
-<link package='gnome-control-center.3790' cicount='copy' />
+<link package='gnome-control-center.4002' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package libvdpau.3998 for openSUSE:13.2:Update checked in at 2015-09-11 08:30:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/libvdpau.3998 (Old)
and /work/SRC/openSUSE:13.2:Update/.libvdpau.3998.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvdpau.3998"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:13.2:Update/.libvdpau.3998.new/libvdpau.changes 2015-09-11 08:30:26.000000000 +0200
@@ -0,0 +1,136 @@
+-------------------------------------------------------------------
+Tue Sep 1 15:20:01 UTC 2015 - sndirsch(a)suse.com
+
+- U_Use-secure_getenv-3-to-improve-security.patch
+ * VUL-0: CVE-2015-5198: libvdpau: incorrect check for security
+ transition (bnc#943967)
+ * VUL-0: CVE-2015-5199: libvdpau: directory traversal in dlopen
+ (bnc#943968)
+ * VUL-0: CVE-2015-5200: libvdpau: vulnerability in trace
+ functionality (bnc#943969)
+
+-------------------------------------------------------------------
+Wed Jul 2 07:49:16 UTC 2014 - sndirsch(a)suse.com
+
+- Update to v0.8
+ * This release fixes an incorrect type for VdpPictureInfo and
+ adds an environment variable, VDPAU_DRIVER_PATH, which can be
+ used to override the default search path that the library uses
+ to find its backend driver libraries.
+
+-------------------------------------------------------------------
+Sun Oct 27 09:25:25 UTC 2013 - sndirsch(a)suse.com
+
+- update to vdpauinfo 0.1
+ * This release fixes a problem where ranges were queried for
+ mixer parameters and attributes where ranges were not allowed.
+
+-------------------------------------------------------------------
+Mon Mar 25 12:12:33 UTC 2013 - idonmez(a)suse.com
+
+- Drop libvdpau-alway-workaround-libflash.patch: while this
+ fixes flash plugin, it breaks all the other apps. (bnc#811360)
+
+-------------------------------------------------------------------
+Sun Feb 3 15:08:19 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Update to v0.6
+ * Make use of dri2proto_CFLAGS when building.
+ * Fix leaked extension info on library unload
+ * Use AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER to appease
+ automake 1.13
+
+-------------------------------------------------------------------
+Wed Sep 5 15:58:42 UTC 2012 - idonmez(a)suse.com
+
+- Update to v0.5
+ * vdpau_wrapper.c: Track dynamic library handles and free them
+ on exit
+ * Implement workarounds for Adobe Flash bugs
+- Add libvdpau-alway-workaround-libflash.patch: always enable
+ Flash workarounds and not depend on kernel command line. Users
+ can disable this in the /etc/vdpau_wrapper.cfg file.
+
+-------------------------------------------------------------------
+Tue Jun 26 12:34:44 UTC 2012 - sndirsch(a)suse.com
+
+- back to building the HTML documentation (instead of prebuilding
+ and then extracting it during the build), but this time without
+ requiring texlive, since pdftex apparently isn't used for this
+ purpose anyway (libvdpau-nopdftex.patch)
+
+-------------------------------------------------------------------
+Mon Jun 25 13:23:52 UTC 2012 - coolo(a)suse.com
+
+- do not build the documentation but package a prebuilt tar of it
+ to avoid huge build cycle
+
+-------------------------------------------------------------------
+Mon Aug 29 14:47:54 UTC 2011 - sndirsch(a)suse.com
+
+- fixes the build in a more correct way :-) Hopefully!
+
+-------------------------------------------------------------------
+Mon Aug 29 12:19:11 UTC 2011 - sndirsch(a)suse.com
+
+- vdpau needs an explicit "-lX11" with latest toolchain
+
+-------------------------------------------------------------------
+Wed Sep 22 07:19:14 UTC 2010 - coolo(a)novell.com
+
+- fix baselibs.conf
+
+-------------------------------------------------------------------
+Wed Sep 8 17:21:29 UTC 2010 - sndirsch(a)novell.com
+
+- libvdpau 0.4.1
+ This minor update just changes a few small, but important,
+ documentation details.
+ * vdpau.h: Clarify video mixer field amount recommendation
+ * vpdau.h: Fix typo and clarify wording.
+ * More doc issues pointed out by Xine authors.
+
+-------------------------------------------------------------------
+Fri Jun 18 22:10:29 CEST 2010 - sndirsch(a)suse.de
+
+- renamed rpmlintrc to libvdpau-rpmlintrc
+- added libvdpau-rpmlintrc as source to specfile
+
+-------------------------------------------------------------------
+Fri Jun 4 20:41:37 CEST 2010 - sndirsch(a)suse.de
+
+- fixed baselibs.conf (packages have been renamed)
+
+-------------------------------------------------------------------
+Sat Apr 24 12:59:42 CEST 2010 - sndirsch(a)suse.de
+
+- fixed libvdpau_trace1 package description
+- added README for tracing VDPAU function calls
+
+-------------------------------------------------------------------
+Sat Apr 24 10:37:30 CEST 2010 - sndirsch(a)suse.de
+
+- added Wladimir J. van der Laan's vdpinfo tool, a command line
+ utility for querying the capabilities of a VDPAU device.
+
+-------------------------------------------------------------------
+Thu Apr 22 22:34:09 UTC 2010 - herbert(a)graeber-clan.de
+
+- put libvdpau_trace into it's own package
+
+-------------------------------------------------------------------
+Thu Apr 22 18:11:59 UTC 2010 - herbert(a)graeber-clan.de
+
+- follow Shared Library Packaging Policy
+- obsolete packman vdpau packages for proper update
+
+-------------------------------------------------------------------
+Thu Apr 22 02:33:32 CEST 2010 - sndirsch(a)suse.de
+
+- also build and package documentation
+
+-------------------------------------------------------------------
+Wed Apr 21 12:00:38 CEST 2010 - sndirsch(a)suse.de
+
+- created package (bnc #596481)
+
New:
----
README
U_Use-secure_getenv-3-to-improve-security.patch
baselibs.conf
libvdpau-0.8.tar.bz2
libvdpau-nopdftex.patch
libvdpau-rpmlintrc
libvdpau.changes
libvdpau.spec
vdpauinfo-0.1.tar.gz
vdpauinfo-missing-lX11.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvdpau.spec ++++++
#
# spec file for package libvdpau
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: libvdpau
Version: 0.8
Release: 0
Summary: VDPAU wrapper and trace libraries
License: MIT
Group: System/Libraries
Url: http://people.freedesktop.org/~aplattner
Source: http://people.freedesktop.org/~aplattner/vdpau/%{name}-%{version}.tar.bz2
Source1: vdpauinfo-0.1.tar.gz
Source2: README
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
Patch: vdpauinfo-missing-lX11.diff
Patch1: libvdpau-nopdftex.patch
Patch2: U_Use-secure_getenv-3-to-improve-security.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: graphviz
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications. To actually use a VDPAU device, you need a vendor-specific
implementation library. Currently, this is always libvdpau_nvidia. You can
override the driver name by setting the VDPAU_DRIVER environment variable.
%package -n libvdpau1
Summary: VDPAU wrapper library
Group: System/Libraries
Provides: libvdpau = %{version}-%{release}
Obsoletes: libvdpau < %{version}-%{release}
%description -n libvdpau1
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications. To actually use a VDPAU device, you need a vendor-specific
implementation library. Currently, this is always libvdpau_nvidia. You can
override the driver name by setting the VDPAU_DRIVER environment variable.
%package -n libvdpau-devel
Summary: VDPAU wrapper development files
Group: Development/Libraries/X11
Requires: libvdpau1 = %{version}
%description -n libvdpau-devel
Note that this package only contains the VDPAU headers that are required to
build applications. At runtime, the shared libraries are needed too and may
be installed using the proprietary nVidia driver packages.
%package -n libvdpau_trace1
Summary: VDPAU trace library
Group: Development/Libraries/X11
Requires: libvdpau1 = %{version}
Provides: libvdpau_trace = %{version}-%{release}
Obsoletes: libvdpau_trace < %{version}-%{release}
%description -n libvdpau_trace1
This package provides the library for tracing VDPAU function calls.
Its usage is documented in the README.
%prep
%setup -q -b1
%patch1 -p0
%patch2 -p1
pushd ../vdpauinfo-*
%patch -p0
popd
%build
autoreconf -fi
%configure
make %{?_smp_mflags}
%install
%makeinstall
rm %{buildroot}%{_libdir}/libvdpau.la
rm %{buildroot}%{_libdir}/vdpau/libvdpau_trace.la
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_libdir}/vdpau
rm %{buildroot}%{_libdir}/vdpau/libvdpau_trace.so
pushd ../vdpauinfo-*
%configure \
VDPAU_CFLAGS=-I$RPM_BUILD_ROOT/usr/include \
VDPAU_LIBS="-L$RPM_BUILD_ROOT/%{_libdir} -lvdpau -lX11"
make %{?_smp_mflags}
%makeinstall
popd
cp $RPM_SOURCE_DIR/README .
%post -n libvdpau1 -p /sbin/ldconfig
%postun -n libvdpau1 -p /sbin/ldconfig
%files -n libvdpau1
%defattr(-,root,root)
%dir %{_libdir}/vdpau
/usr/bin/vdpauinfo
%{_libdir}/libvdpau.so.*
%config /etc/vdpau_wrapper.cfg
%files -n libvdpau-devel
%defattr(-,root,root)
%doc %{_datadir}/doc/%{name}
%dir %{_libdir}/vdpau
%{_includedir}/vdpau
%{_libdir}/libvdpau.so
%{_libdir}/pkgconfig/vdpau.pc
%files -n libvdpau_trace1
%defattr(-,root,root)
%doc README
%{_libdir}/vdpau/libvdpau_trace.so.*
%changelog
++++++ README ++++++
DEBUGGING AND TRACING
The VDPAU wrapper library supports tracing VDPAU function calls, and their
parameters. This tracing is controlled by the following environment variables:
VDPAU_TRACE
Enables tracing. Set to 1 to trace function calls. Set to 2 to trace all
arguments passed to the function.
VDPAU_TRACE_FILE
Filename to write traces to. By default, traces are sent to stderr. This
variable may either contain a plain filename, or a reference to an
existing open file-descriptor in the format "&N" where N is the file
descriptor number.
The VDPAU wrapper library is responsible for determining which vendor-specific
driver to load for a given X11 display/screen. At present, it hard-codes
"nvidia" as the driver. The environment variable VDPAU_DRIVER may be set to
override this default. The actual library loaded will be
libvdpau_${VDPAU_DRIVER}.so. Setting VDPAU_DRIVER to "trace" is not advised.
++++++ U_Use-secure_getenv-3-to-improve-security.patch ++++++
>From d1f9c16b1a8187110e501c9116d21ffee25c0ba4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Hiram=20Soltren?= <jsoltren(a)nvidia.com>
Date: Mon, 17 Aug 2015 16:01:44 -0500
Subject: [PATCH] Use secure_getenv(3) to improve security
This patch is in response to the following security vulnerabilities
(CVEs) reported to NVIDIA against libvdpau:
CVE-2015-5198
CVE-2015-5199
CVE-2015-5200
To address these CVEs, this patch:
- replaces all uses of getenv(3) with secure_getenv(3);
- uses secure_getenv(3) when available, with a fallback option;
- protects VDPAU_DRIVER against directory traversal by checking for '/'
On platforms where secure_getenv(3) is not available, the C preprocessor
will print a warning at compile time. Then, a preprocessor macro will
replace secure_getenv(3) with our getenv_wrapper(), which utilizes the check:
getuid() == geteuid() && getgid() == getegid()
See getuid(2) and getgid(2) for further details.
Signed-off-by: Aaron Plattner <aplattner(a)nvidia.com>
Reviewed-by: Florian Weimer <fweimer(a)redhat.com>
---
configure.ac | 4 ++++
src/Makefile.am | 1 +
src/mesa_dri2.c | 6 ++++--
src/util.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
src/vdpau_wrapper.c | 28 ++++++++++++++++------------
trace/vdpau_trace.cpp | 8 +++++---
6 files changed, 78 insertions(+), 17 deletions(-)
create mode 100644 src/util.h
Index: libvdpau-0.8/configure.ac
===================================================================
--- libvdpau-0.8.orig/configure.ac
+++ libvdpau-0.8/configure.ac
@@ -6,6 +6,10 @@ AM_MAINTAINER_MODE
AC_CONFIG_HEADERS(config.h)
+# Check for secure_getenv
+AC_USE_SYSTEM_EXTENSIONS
+AC_CHECK_FUNCS([__secure_getenv secure_getenv])
+
# Disable static libraries by default. Use --enable-static if you really want
# them.
AC_DISABLE_STATIC
Index: libvdpau-0.8/src/Makefile.am
===================================================================
--- libvdpau-0.8.orig/src/Makefile.am
+++ libvdpau-0.8/src/Makefile.am
@@ -9,6 +9,7 @@ lib_LTLIBRARIES = libvdpau.la
libvdpau_la_SOURCES = \
vdpau_wrapper.c \
+ util.h \
$(DRI2_SOURCES)
if DRI2
Index: libvdpau-0.8/src/mesa_dri2.c
===================================================================
--- libvdpau-0.8.orig/src/mesa_dri2.c
+++ libvdpau-0.8/src/mesa_dri2.c
@@ -1,6 +1,6 @@
/*
* Copyright © 2008 Red Hat, Inc.
- * Copyright © 2010 NVIDIA Corporation
+ * Copyright © 2010-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Soft-
@@ -30,6 +30,7 @@
* Authors:
* Kristian Høgsberg (krh(a)redhat.com)
* Modified for VDPAU by Aaron Plattner (aplattner(a)nvidia.com)
+ * and José Hiram Soltren (jsoltren(a)nvidia.com)
*/
@@ -39,6 +40,7 @@
#include <X11/extensions/extutil.h>
#include <X11/extensions/dri2proto.h>
#include "mesa_dri2.h"
+#include "util.h"
static char dri2ExtensionName[] = DRI2_NAME;
static XExtensionInfo *dri2Info;
@@ -130,7 +132,7 @@ _vdp_DRI2Connect(Display * dpy, XID wind
req->driverType = DRI2DriverVDPAU;
#ifdef DRI2DriverPrimeShift
{
- char *prime = getenv("DRI_PRIME");
+ char *prime = secure_getenv("DRI_PRIME");
if (prime) {
unsigned int primeid;
errno = 0;
Index: libvdpau-0.8/src/util.h
===================================================================
--- /dev/null
+++ libvdpau-0.8/src/util.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015 NVIDIA Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <unistd.h>
+#include <stdlib.h>
+
+static char * getenv_wrapper(const char *name)
+{
+ if (getuid() == geteuid() && getgid() == getegid()) {
+ return getenv(name);
+ }
+ else {
+ return NULL;
+ }
+}
+
+#ifndef HAVE_SECURE_GETENV
+# ifdef HAVE___SECURE_GETENV
+# define secure_getenv __secure_getenv
+# else
+# warning Neither secure_getenv nor __secure_getenv is available.
+# define secure_getenv getenv_wrapper
+# endif
+#endif
Index: libvdpau-0.8/src/vdpau_wrapper.c
===================================================================
--- libvdpau-0.8.orig/src/vdpau_wrapper.c
+++ libvdpau-0.8/src/vdpau_wrapper.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009 NVIDIA, Corporation
+ * Copyright (c) 2008-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -36,6 +36,7 @@
#include "mesa_dri2.h"
#include <X11/Xlib.h>
#endif
+#include "util.h"
typedef void SetDllHandle(
void * driver_dll_handle
@@ -114,7 +115,12 @@ static VdpStatus _vdp_open_driver(
char const * vdpau_trace;
char const * func_name;
- vdpau_driver = getenv("VDPAU_DRIVER");
+ vdpau_driver = secure_getenv("VDPAU_DRIVER");
+ if (vdpau_driver) {
+ if (strchr(vdpau_driver, '/')) {
+ vdpau_driver = NULL;
+ }
+ }
if (!vdpau_driver) {
vdpau_driver = vdpau_driver_dri2 =
_vdp_get_driver_name_from_dri2(display, screen);
@@ -123,15 +129,13 @@ static VdpStatus _vdp_open_driver(
vdpau_driver = "nvidia";
}
- if (geteuid() == getuid()) {
- /* don't allow setuid apps to use VDPAU_DRIVER_PATH */
- vdpau_driver_path = getenv("VDPAU_DRIVER_PATH");
- if (vdpau_driver_path &&
- snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib),
- DRIVER_LIB_FORMAT, vdpau_driver_path, vdpau_driver) <
- sizeof(vdpau_driver_lib)) {
- _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
- }
+ /* Don't allow setuid apps to use VDPAU_DRIVER_PATH */
+ vdpau_driver_path = secure_getenv("VDPAU_DRIVER_PATH");
+ if (vdpau_driver_path &&
+ snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib),
+ DRIVER_LIB_FORMAT, vdpau_driver_path, vdpau_driver) <
+ sizeof(vdpau_driver_lib)) {
+ _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
}
/* Fallback to VDPAU_MODULEDIR when VDPAU_DRIVER_PATH is not set,
@@ -174,7 +178,7 @@ static VdpStatus _vdp_open_driver(
_vdp_backend_dll = _vdp_driver_dll;
- vdpau_trace = getenv("VDPAU_TRACE");
+ vdpau_trace = secure_getenv("VDPAU_TRACE");
if (vdpau_trace && atoi(vdpau_trace)) {
SetDllHandle * set_dll_handle;
Index: libvdpau-0.8/trace/vdpau_trace.cpp
===================================================================
--- libvdpau-0.8.orig/trace/vdpau_trace.cpp
+++ libvdpau-0.8/trace/vdpau_trace.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008-2009 NVIDIA, Corporation
+ * Copyright (c) 2008-2015 NVIDIA Corporation
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -31,6 +31,8 @@
#include <string.h>
#include <vdpau/vdpau_x11.h>
+#include "../src/util.h"
+
#define _VDP_TRACE_ARSIZE(_x_) ((sizeof (_x_)) / (sizeof ((_x_)[0])))
#if DEBUG
@@ -4558,13 +4560,13 @@ VdpStatus vdp_trace_device_create_x11(
}
else {
_vdp_cap_data.level = 0;
- char const * vdpau_trace = getenv("VDPAU_TRACE");
+ char const * vdpau_trace = secure_getenv("VDPAU_TRACE");
if (vdpau_trace) {
_vdp_cap_data.level = atoi(vdpau_trace);
}
_vdp_cap_data.fp = 0;
- char const * vdpau_trace_file = getenv("VDPAU_TRACE_FILE");
+ char const * vdpau_trace_file = secure_getenv("VDPAU_TRACE_FILE");
if (vdpau_trace_file && strlen(vdpau_trace_file)) {
if (vdpau_trace_file[0] == '&') {
int fd = atoi(&vdpau_trace_file[1]);
++++++ baselibs.conf ++++++
libvdpau1
libvdpau_trace1
libvdpau-devel
requires -libvdpau-<targettype>
requires "libvdpau1-<targettype> = <version>"
requires "libvdpau_trace1-<targettype> = <version>"
++++++ libvdpau-nopdftex.patch ++++++
--- configure.ac.old 2012-06-26 14:21:28.000000000 +0200
+++ configure.ac 2012-06-26 14:22:30.000000000 +0200
@@ -48,11 +48,9 @@ AC_ARG_ENABLE(documentation, AS_HELP_STR
if test "x$DOCS" != xno; then
AC_CHECK_TOOL([DOXYGEN], [doxygen], [no])
AC_CHECK_TOOL([DOT], [dot], [no])
- AC_CHECK_TOOL([PDFTEX], [pdftex], [no])
else
DOXYGEN=no
DOT=no
- PDFTEX=no
fi
if test "x$DOCS" = xyes; then
if test "x$DOXYGEN" = xno; then
@@ -61,11 +59,8 @@ if test "x$DOCS" = xyes; then
if test "x$DOT" = xno; then
AC_ERROR([Documentation enabled but dot was not found in your path. Please install graphviz])
fi
- if test "x$PDFTEX" = xno; then
- AC_ERROR([Documentation enabled but pdftex was not found in your path])
- fi
fi
-AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno -a "x$PDFTEX" != xno])
+AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno])
AC_SUBST(DOXYGEN)
# Options
++++++ libvdpau-rpmlintrc ++++++
# dir isn't version, but it's contents is
addFilter("shlib-policy-nonversioned-dir")
addFilter("no-dependency-on")
++++++ vdpauinfo-missing-lX11.diff ++++++
--- configure.ac.orig 2011-08-29 16:31:04.069536000 +0200
+++ configure.ac 2011-08-29 16:31:31.424105000 +0200
@@ -8,7 +8,7 @@
PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.2])
VDPAUINFO_CXXFLAGS="$VDPAUINFO_CXXFLAGS $VDPAU_CFLAGS"
-VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS"
+VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS -lX11"
AC_SUBST(VDPAUINFO_CXXFLAGS)
AC_SUBST(VDPAUINFO_LIBS)
1
0
Hello community,
here is the log from the commit of package spec-cleaner for openSUSE:13.2:Update checked in at 2015-09-11 08:30:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/spec-cleaner (Old)
and /work/SRC/openSUSE:13.2:Update/.spec-cleaner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spec-cleaner"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.Pz6z6j/_old 2015-09-11 08:30:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Pz6z6j/_new 2015-09-11 08:30:16.000000000 +0200
@@ -1 +1 @@
-<link package='spec-cleaner.3879' cicount='copy' />
+<link package='spec-cleaner.4000' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package spec-cleaner for openSUSE:13.1:Update checked in at 2015-09-11 08:30:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/spec-cleaner (Old)
and /work/SRC/openSUSE:13.1:Update/.spec-cleaner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spec-cleaner"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.OMhquk/_old 2015-09-11 08:30:07.000000000 +0200
+++ /var/tmp/diff_new_pack.OMhquk/_new 2015-09-11 08:30:07.000000000 +0200
@@ -1 +1 @@
-<link package='spec-cleaner.3879' cicount='copy' />
+<link package='spec-cleaner.3999' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package patchinfo.3999 for openSUSE:13.1:Update checked in at 2015-09-11 08:30:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/patchinfo.3999 (Old)
and /work/SRC/openSUSE:13.1:Update/.patchinfo.3999.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchinfo.3999"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_patchinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _patchinfo ++++++
<patchinfo incident="3999">
<category>recommended</category>
<rating>moderate</rating>
<packager>scarabeus_iv</packager>
<summary>Recommended update for spec-cleaner</summary>
<description>This recommended update provides version 0.7.3 for spec-cleaner:
- Version bump to 0.7.3:
* Fix wrong bracketing of kernel_module macro</description>
</patchinfo>
1
0
Hello community,
here is the log from the commit of package spec-cleaner.3999 for openSUSE:13.1:Update checked in at 2015-09-11 08:30:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/spec-cleaner.3999 (Old)
and /work/SRC/openSUSE:13.1:Update/.spec-cleaner.3999.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spec-cleaner.3999"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:13.1:Update/.spec-cleaner.3999.new/spec-cleaner.changes 2015-09-11 08:30:06.000000000 +0200
@@ -0,0 +1,261 @@
+-------------------------------------------------------------------
+Wed Sep 2 08:21:58 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.7.3:
+ * Fix wrong bracketing of kernel_module macro
+
+-------------------------------------------------------------------
+Fri Jun 26 20:11:48 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.7.2:
+ * Do not curlify %20 which is usually space in Source lines
+ * Few more excludes for bracket
+ * Bunch of small fixes
+
+-------------------------------------------------------------------
+Tue Jun 9 09:08:47 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.7.1:
+ * Fix %config(noreplace) curlification (bnc#934059)
+ * Preparation for more path replacements
+
+-------------------------------------------------------------------
+Wed Jun 3 09:11:19 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.7.0:
+ * Various small code cleanups and readability improvemnets
+ * Better macro detection to allow braces in macros
+ * Fix minimal mode appending empty lines in some cases
+ * Various additional bracketing excludes
+
+-------------------------------------------------------------------
+Thu Apr 16 19:21:18 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.6.9:
+ * Replace => with >=
+ * Bracketing excludes
+ * Replace paths using regexps instead of hardcoding (more cases covered)
+ * Remove various obsolete tags from preamble Icon/Packager/...
+ * Fix RPM_BUILD_ROOT replacement cornercase failure
+ * Remove %doc from %_mandir paths as it is pointless to have there
+
+-------------------------------------------------------------------
+Tue Feb 10 14:50:34 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.6.8:
+ * The copyright line broke test, so update again to fix that
+
+-------------------------------------------------------------------
+Tue Feb 10 14:41:40 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.6.7:
+ * Update copyright line to match current SUSE one
+
+-------------------------------------------------------------------
+Tue Feb 10 14:34:43 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 0.6.6:
+ * Excludes for java qmake gem_ and kde macros
+ * Cleanup conflicts lines properly
+ * Cleanup kernel subpkgs properly
+ * Work with spaces in version string
+
+-------------------------------------------------------------------
+Mon Dec 8 09:01:31 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.5:
+ * Fix vertical spacing around nested conditionals
+ * Fix issue with bogus %lang detection
+
+-------------------------------------------------------------------
+Sat Nov 15 10:10:29 UTC 2014 - tchvatal(a)suse.com
+
+- Remove PKGBUILD until service-download_files is fixed to work fine
+ with them
+- Version bump to 0.6.4:
+ * Various small fixes and macro expansion.
+
+-------------------------------------------------------------------
+Sun Oct 12 09:33:22 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.3:
+ * Fix diff mode
+ * Various %if macro whitespacing issues squashing
+ * Base pkgconf conversions from 13.2
+
+-------------------------------------------------------------------
+Sun Oct 12 09:27:16 UTC 2014 - tchvatal(a)suse.com
+
+- Make us build again for Fedora
+
+-------------------------------------------------------------------
+Mon Sep 22 13:21:47 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.2:
+ * Fix iniline mode
+ * Various small fixes and testsuite expansion
+
+-------------------------------------------------------------------
+Wed Sep 3 17:40:34 UTC 2014 - tchvatal(a)suse.com
+
+- Require py3-setuptools
+
+-------------------------------------------------------------------
+Fri Aug 29 10:46:17 UTC 2014 - tchvatal(a)suse.com
+
+- py3 include arpgarse itself.
+
+-------------------------------------------------------------------
+Wed Aug 13 12:28:45 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.1:
+ * Fixup release with working spec-cleaner script executable
+
+-------------------------------------------------------------------
+Wed Aug 13 12:09:35 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.0:
+ * Use setuptools and nosetests for building&testing
+ * Various bugfixes as found by java icedtea cleaning
+
+-------------------------------------------------------------------
+Tue Jul 8 11:32:40 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.9:
+ * Fix parsing %endif #comment
+ * Fix parsing %if rigth after %clean section
+
+-------------------------------------------------------------------
+Mon Jun 23 15:01:57 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.8:
+ * brown paperbag release fixing tests on py3.
+
+-------------------------------------------------------------------
+Mon Jun 23 11:25:09 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.7:
+ * Updates about smp_mflags parsing
+ * makeinstall macro replacing improvements.
+
+-------------------------------------------------------------------
+Sat May 10 11:28:35 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.6:
+ * Few minor fixes as reported on github.
+
+-------------------------------------------------------------------
+Fri Apr 4 12:56:21 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.5:
+ * Few minor fixes as reported on github tracker.
+
+-------------------------------------------------------------------
+Mon Feb 3 12:44:39 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.4:
+ * plenty of bugfixes regarding to spec parsing as they were
+ reported on github
+ * add more exceptions on adding curly brackets
+ * update licenses list to the latest.
+
+-------------------------------------------------------------------
+Tue Jan 14 07:12:56 UTC 2014 - tchvatal(a)suse.com
+
+- Add comment on py3 conditional and depend on python-argparse
+
+-------------------------------------------------------------------
+Thu Jan 9 17:35:34 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.5.3:
+ + Various parser fixes and extended testsuite coverage
+ thanks to reports from packagers team.
+
+-------------------------------------------------------------------
+Wed Dec 4 12:33:05 UTC 2013 - tchvatal(a)suse.com
+
+- Version bump to 0.5.2:
+ + Fixes issues found while parsing libreoffice
+ + Fixes issues 4 and 3 on github
+
+-------------------------------------------------------------------
+Tue Dec 3 11:36:28 UTC 2013 - tchvatal(a)suse.com
+
+- Version bump to 0.5.1:
+ + Fixes the conditionals placement and makes all tests pass.
+
+-------------------------------------------------------------------
+Fri Nov 29 11:27:00 UTC 2013 - tchvatal(a)suse.com
+
+- Version bump to 0.4.2:
+ + fix inlining
+ + fix service shell script
+ + rename obs service to different from format_spec_file
+
+-------------------------------------------------------------------
+Mon Nov 25 12:15:14 UTC 2013 - tchvatal(a)suse.com
+
++++ 64 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.spec-cleaner.3999.new/spec-cleaner.changes
New:
----
spec-cleaner-0.7.3.tar.gz
spec-cleaner.changes
spec-cleaner.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spec-cleaner.spec ++++++
#
# spec file for package spec-cleaner
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Vincent Untz <vuntz(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# This is used for Fedora, we need to sync this
%{!?py3_ver: %define py3_ver %{python3_version}}
Name: spec-cleaner
Version: 0.7.3
Release: 0
Summary: .spec file cleaner
License: BSD-3-Clause
Group: Development/Tools/Other
Url: http://github.com/openSUSE/spec-cleaner
Source0: https://github.com/openSUSE/%{name}/archive/%{name}-%{version}.tar.gz
BuildRequires: python3-devel
BuildRequires: python3-mock
BuildRequires: python3-nose
BuildRequires: python3-setuptools
# For the pkg_resources used in the binary loader
Requires: python3-setuptools
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
This script cleans spec file according to some arbitrary style guide. The
results it produces should always be checked by someone since it is not and
will never be perfect.
%prep
%setup -q -n %{name}-%{name}-%{version}
# set libexec properly so it works on Fedora too
sed -i \
-e 's:/usr/lib/obs/:%{_libexecdir}/obs/:g' \
setup.py
%build
python3 setup.py build
%check
python3 setup.py test
%install
python3 setup.py install --root="%{buildroot}"
%files
%defattr(-, root, root)
%{_bindir}/%{name}
%dir %{_libexecdir}/obs/
%dir %{_libexecdir}/obs/service/
%{_libexecdir}/obs/service/clean_spec_file
%{_libexecdir}/obs/service/clean_spec_file.service
%dir %{python3_sitelib}/spec_cleaner/
%{python3_sitelib}/spec_cleaner/__init__.py
%{python3_sitelib}/spec_cleaner/fileutils.py
%{python3_sitelib}/spec_cleaner/rpmbuild.py
%{python3_sitelib}/spec_cleaner/rpmcheck.py
%{python3_sitelib}/spec_cleaner/rpmcleaner.py
%{python3_sitelib}/spec_cleaner/rpmcopyright.py
%{python3_sitelib}/spec_cleaner/rpmdescription.py
%{python3_sitelib}/spec_cleaner/rpmexception.py
%{python3_sitelib}/spec_cleaner/rpmfiles.py
%{python3_sitelib}/spec_cleaner/rpminstall.py
%{python3_sitelib}/spec_cleaner/rpmpreamble.py
%{python3_sitelib}/spec_cleaner/rpmprep.py
%{python3_sitelib}/spec_cleaner/rpmprune.py
%{python3_sitelib}/spec_cleaner/rpmregexp.py
%{python3_sitelib}/spec_cleaner/rpmscriplets.py
%{python3_sitelib}/spec_cleaner/rpmsection.py
%{python3_sitelib}/spec_cleaner/__pycache__
%{python3_sitelib}/spec_cleaner-%{version}-py%{py3_ver}.egg-info
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/excludes-bracketing.txt
%{_datadir}/%{name}/licenses_changes.txt
%{_datadir}/%{name}/pkgconfig_conversions.txt
%changelog
1
0
Hello community,
here is the log from the commit of package tigervnc.3993 for openSUSE:13.2:Update checked in at 2015-09-11 08:29:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/tigervnc.3993 (Old)
and /work/SRC/openSUSE:13.2:Update/.tigervnc.3993.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tigervnc.3993"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:13.2:Update/.tigervnc.3993.new/tigervnc.changes 2015-09-11 08:29:54.000000000 +0200
@@ -0,0 +1,320 @@
+-------------------------------------------------------------------
+Tue Aug 25 15:12:02 UTC 2015 - msrb(a)suse.com
+
+- Remove commented out DefaultDepth 16 from 10-libvnc.conf file.
+ Using 16 bit depth can cause troubles and does not have any
+ positives anymore, so lets not suggest it to users. (bnc#942982)
+
+-------------------------------------------------------------------
+Tue May 5 12:35:17 UTC 2015 - privacy(a)not.given
+
+- compile with -fPIC - fixes build for armv7l. (bnc#929685)
+
+-------------------------------------------------------------------
+Wed Apr 1 12:12:36 UTC 2015 - msrb(a)suse.com
+
+- u_terminate_instead_of_ignoring_restart.patch
+ * Terminate instead of ignoring restart. (bnc#920969)
+
+-------------------------------------------------------------------
+Thu Feb 12 12:28:17 UTC 2015 - msrb(a)suse.com
+
+- U_xkb-check-strings-length-against-request-size.patch
+ * Check string lenghts in XkbSetGeometry request.
+ (bnc#915810, CVE-2015-0255)
+
+-------------------------------------------------------------------
+Mon Feb 2 13:10:47 UTC 2015 - msrb(a)suse.com
+
+- n_tigervnc_Revert_Attempt_to_handle_Ctrl-key.patch
+ * Revert bugged upstream commit. (bnc#915782)
+
+- Rebuild against fltk backported patches for cursor and clipboard
+ handling. (bnc#908738)
+
+-------------------------------------------------------------------
+Tue Jan 13 12:57:09 UTC 2015 - msrb(a)suse.com
+
+- Update to tigervnc 1.4.1 and X server 1.16.1. (bnc#911577)
+
+- Synchronize patches from xorg-x11-server that are relevant for Xvnc:
+ * U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch
+ * U_Xi_unvalidated_lengths_in_Xinput_extension.patch
+ * U_Xv_unvalidated_lengths_in_XVideo_extension_swapped_procs.patch
+ * U_dbe_Call_to_DDX_SwapBuffers_requires_address_of_int_not_unsigned_int.patch
+ * U_dbe_unvalidated_lengths_in_DbeSwapBuffers_calls.patch
+ * U_dix_GetHosts_bounds_check_using_wrong_pointer_value.patch
+ * U_dix_Missing_parens_in_REQUEST_FIXED_SIZE_macro.patch
+ * U_dix_integer_overflow_in_GetHosts.patch
+ * U_dix_integer_overflow_in_ProcPutImage.patch
+ * U_dix_integer_overflow_in_REQUEST_FIXED_SIZE.patch
+ * U_dix_integer_overflow_in_RegionSizeof.patch
+ * U_dri2_integer_overflow_in_ProcDRI2GetBuffers.patch
+ * U_dri3_unvalidated_lengths_in_DRI3_extension_swapped_procs.patch
+ * U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch
+ * U_fb_Fix_Bresenham_algorithms_for_commonly_used_small_segments.patch
+ * U_glx_Add_safe__add_mul_pad.patch
+ * U_glx_Additional_paranoia_in___glXGetAnswerBuffer___GLX_GET_ANSWER_BUFFER.patch
+ * U_glx_Be_more_paranoid_about_variable_length_requests.patch
+ * U_glx_Be_more_strict_about_rejecting_invalid_image_sizes.patch
+ * U_glx_Fix_image_size_computation_for_EXT_texture_integer.patch
+ * U_glx_Fix_mask_truncation_in___glXGetAnswerBuffer.patch
+ * U_glx_Integer_overflow_protection_for_non_generated_render_requests.patch
+ * U_glx_Length_checking_for_GLXRender_requests.patch
+ * U_glx_Length_checking_for_RenderLarge_requests.patch
+ * U_glx_Length_checking_for_non_generated_single_request.patch
+ * U_glx_Length_checking_for_non_generated_vendor_private_requests.patch
+ * U_glx_Pass_remaining_request_length_into_varsize.patch
+ * U_glx_Request_length_checks_for_SetClientInfoARB.patch
+ * U_glx_Top_level_length_checking_for_swapped_VendorPrivate_requests.patch
+ * U_present_unvalidated_lengths_in_Present_extension_procs.patch
+ * U_randr_unvalidated_lengths_in_RandR_extension_swapped_procs.patch
+ * U_render_check_request_size_before_reading_it.patch
+ * U_render_unvalidated_lengths_in_Render_extn_swapped_procs.patch
+ * U_unchecked_malloc_may_allow_unauthed_client_to_crash_Xserver.patch
+ * U_xcmisc_unvalidated_length_in_SProcXCMiscGetXIDList.patch
+ * U_xfixes_unvalidated_length_in_SProcXFixesSelectSelectionInput.patch
+ * u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
+ * u_xorg-server-xdmcp.patch
+
+- Drop upstreamed/obsolete patches:
+ * tigervnc-1.2.80-fix-int-to-pointer.patch
+ * tigervnc-sf3492352.diff
+ * u_aarch64-support.patch
+ * u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch
+ * u_tigervnc-1.3.0-fix-use-after-free.patch
+ * u_tigervnc-check-shm-harder.patch
+
+
+-------------------------------------------------------------------
+Fri Dec 5 14:09:06 UTC 2014 - msrb(a)suse.com
+
+- U_tigervnc-Allow-SSecurity-to-specify-AccessRights-for-SConnect.patch,
+ U_tigervnc-vncpasswd-Ask-for-read-only-password.patch,
+ U_tigervnc-VncAuth-Read-and-use-readonly-password.patch,
+ U_tigervnc-Add-AccessSetDesktopSize-right.patch,
+ U_tigervnc-Use-new-API-for-getVncAuthPasswd.patch,
+ U_tigervnc-Limit-access-to-non-shared-mode.patch,
+ U_tigervnc-Make-sure-attributes-propagate-through-security-wrap.patch
+ * Add support for view only passwords. (bnc#901752)
+
+-------------------------------------------------------------------
+Tue Nov 25 15:26:45 UTC 2014 - msrb(a)suse.com
+
+- Add u_tigervnc-send-special-keys-directly.patch,
+ fix u_tigervnc-dont-send-ascii-control-characters.patch
+ * Send correctly keys that don't type any characters, such as
+ CTRL+Space. (bnc#906922)
+
+-------------------------------------------------------------------
+Mon Oct 13 11:51:03 UTC 2014 - msrb(a)suse.com
+
+- u_tigervnc-use_preferred_mode.patch
+ * Mark user chosen resolution as preferred. (bnc#896540)
+
+-------------------------------------------------------------------
+Mon Aug 18 13:58:30 UTC 2014 - sndirsch(a)suse.com
+
+- use update-alternatives only on openSUSE > 13.1
+
+-------------------------------------------------------------------
+Mon Aug 18 11:07:09 UTC 2014 - msrb(a)suse.com
+
+- u_tigervnc-check-shm-harder.patch
+ * Check if SHM really works before deciding to use it.
+ (bnc#890580)
+
+-------------------------------------------------------------------
+Mon Aug 4 10:37:08 UTC 2014 - msrb(a)suse.com
+
+- U_include-vencrypt-only-if-any-subtype-present.patch
+ * Do not automatically offer VeNCrypt security if none of it's
+ subtypes is selected. (bnc#889781)
+
+-------------------------------------------------------------------
+Wed Jun 4 11:39:54 UTC 2014 - msrb(a)suse.com
+
+- Fix some errors reported by rpmlint.
+
+-------------------------------------------------------------------
+Thu May 29 03:37:30 UTC 2014 - crrodriguez(a)opensuse.org
+
+- n_tigervnc-date-time.patch package republishes everyday
+ and gets on my nerves, this is because the binaries contain
+ hardcoded timestamps, avoid that.
+- export CXXFLAGS and CFLAGS before building ttigervnc otherwise
+ it gets built without optimization.
+- Make build verbose so it rpmlint catches errors like the above ones.
+
+-------------------------------------------------------------------
+Wed May 28 14:54:02 UTC 2014 - msrb(a)suse.com
+
+- Use update-alternatives.
+
+-------------------------------------------------------------------
+Tue May 20 13:55:30 UTC 2014 - msrb(a)suse.com
+
+- u_tigervnc-ignore-epipe-on-write.patch
+ * Do not display error message because of EPIPE on write.
+ (bnc#864676)
+
+-------------------------------------------------------------------
+Fri May 16 13:52:19 UTC 2014 - msrb(a)suse.com
+
+- Update to version 1.3.1
+ * Security release (CVE-2014-0011).
+
+-------------------------------------------------------------------
+Mon Apr 28 01:00:39 UTC 2014 - sndirsch(a)suse.com
+
+- added missing pkgconfig(xorg-macros) >= 1.14
+
+-------------------------------------------------------------------
+Sat Apr 26 12:04:30 UTC 2014 - sndirsch(a)suse.com
+
+- xorg-x11-Xvnc: require xkeyboard-config (bnc#875329)
+
+-------------------------------------------------------------------
+Fri Apr 25 11:55:11 UTC 2014 - msrb(a)suse.com
+
+- vnc.xinetd
+ * Do not use 16 bpp by default anymore. The network trafic gain
+ of 16 bpp together with Tight encoding is arguable. 16 bpp
+ causes graphical issues and is known to not work properly
+ in Mesa. (bnc#871965)
+
+-------------------------------------------------------------------
+Mon Mar 17 13:47:18 UTC 2014 - msrb(a)suse.com
+
+- Update HTML page that serves vnc client applet. (bnc#867273)
+- u_tigervnc-dont-send-ascii-control-characters.patch
+ * Send CTRL+[A-Z] combinations instead of ascii control characters.
+ (bnc#864666)
+
+-------------------------------------------------------------------
+Mon Feb 24 14:42:50 UTC 2014 - msrb(a)suse.com
+
+- u_arch-Fix-image-and-bitmap-byte-order-for-ppc64le.patch:
++++ 123 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.2:Update/.tigervnc.3993.new/tigervnc.changes
New:
----
10-libvnc.conf
N_xorg-server-xdmcp.patch
U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch
U_Xi_unvalidated_lengths_in_Xinput_extension.patch
U_Xv_unvalidated_lengths_in_XVideo_extension_swapped_procs.patch
U_dbe_Call_to_DDX_SwapBuffers_requires_address_of_int_not_unsigned_int.patch
U_dbe_unvalidated_lengths_in_DbeSwapBuffers_calls.patch
U_dix_GetHosts_bounds_check_using_wrong_pointer_value.patch
U_dix_Missing_parens_in_REQUEST_FIXED_SIZE_macro.patch
U_dix_integer_overflow_in_GetHosts.patch
U_dix_integer_overflow_in_ProcPutImage.patch
U_dix_integer_overflow_in_REQUEST_FIXED_SIZE.patch
U_dix_integer_overflow_in_RegionSizeof.patch
U_dri2_integer_overflow_in_ProcDRI2GetBuffers.patch
U_dri3_unvalidated_lengths_in_DRI3_extension_swapped_procs.patch
U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch
U_fb_Fix_Bresenham_algorithms_for_commonly_used_small_segments.patch
U_glx_Add_safe__add_mul_pad.patch
U_glx_Additional_paranoia_in___glXGetAnswerBuffer___GLX_GET_ANSWER_BUFFER.patch
U_glx_Be_more_paranoid_about_variable_length_requests.patch
U_glx_Be_more_strict_about_rejecting_invalid_image_sizes.patch
U_glx_Fix_image_size_computation_for_EXT_texture_integer.patch
U_glx_Fix_mask_truncation_in___glXGetAnswerBuffer.patch
U_glx_Integer_overflow_protection_for_non_generated_render_requests.patch
U_glx_Length_checking_for_GLXRender_requests.patch
U_glx_Length_checking_for_RenderLarge_requests.patch
U_glx_Length_checking_for_non_generated_single_request.patch
U_glx_Length_checking_for_non_generated_vendor_private_requests.patch
U_glx_Pass_remaining_request_length_into_varsize.patch
U_glx_Request_length_checks_for_SetClientInfoARB.patch
U_glx_Top_level_length_checking_for_swapped_VendorPrivate_requests.patch
U_include-vencrypt-only-if-any-subtype-present.patch
U_present_unvalidated_lengths_in_Present_extension_procs.patch
U_randr_unvalidated_lengths_in_RandR_extension_swapped_procs.patch
U_render_check_request_size_before_reading_it.patch
U_render_unvalidated_lengths_in_Render_extn_swapped_procs.patch
U_tigervnc-Add-AccessSetDesktopSize-right.patch
U_tigervnc-Allow-SSecurity-to-specify-AccessRights-for-SConnect.patch
U_tigervnc-Limit-access-to-non-shared-mode.patch
U_tigervnc-Make-sure-attributes-propagate-through-security-wrap.patch
U_tigervnc-Use-new-API-for-getVncAuthPasswd.patch
U_tigervnc-VncAuth-Read-and-use-readonly-password.patch
U_tigervnc-vncpasswd-Ask-for-read-only-password.patch
U_unchecked_malloc_may_allow_unauthed_client_to_crash_Xserver.patch
U_xcmisc_unvalidated_length_in_SProcXCMiscGetXIDList.patch
U_xfixes_unvalidated_length_in_SProcXFixesSelectSelectionInput.patch
U_xkb-check-strings-length-against-request-size.patch
index.vnc
n_tigervnc-date-time.patch
n_tigervnc-dont-build-gtf.patch
n_tigervnc_Revert_Attempt_to_handle_Ctrl-key.patch
tigervnc-1.4.1.tar.gz
tigervnc-clean-pressed-key-on-exit.patch
tigervnc-newfbsize.patch
tigervnc-sf3495623.patch
tigervnc.changes
tigervnc.spec
u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
u_terminate_instead_of_ignoring_restart.patch
u_tigervnc-dont-send-ascii-control-characters.patch
u_tigervnc-ignore-epipe-on-write.patch
u_tigervnc-send-special-keys-directly.patch
u_tigervnc-use_preferred_mode.patch
u_xorg-server-xdmcp.patch
vnc-httpd.firewall
vnc-server.firewall
vnc.reg
vnc.xinetd
vnc_inetd_httpd
vncpasswd.arg
xorg-server-1.16.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tigervnc.spec ++++++
#
# spec file for package tigervnc
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: tigervnc
Version: 1.4.1
Release: 0
Provides: tightvnc = 1.3.9
Obsoletes: tightvnc < 1.3.9
Provides: vnc
BuildRequires: Mesa-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cmake
BuildRequires: fltk-devel
BuildRequires: gcc-c++
BuildRequires: gcc-c++
BuildRequires: java-devel
BuildRequires: jpackage-utils
BuildRequires: libjpeg-devel
BuildRequires: libopenssl-devel
BuildRequires: libtool
BuildRequires: nasm
BuildRequires: xorg-x11-server-sdk
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xproto)
BuildRequires: pkgconfig(xtst)
# Because of keytool to build java client
BuildRequires: libgcrypt-devel
BuildRequires: libgpg-error-devel
BuildRequires: mozilla-nss
BuildRequires: pam-devel
BuildRequires: pkg-config
BuildRequires: xmlto
BuildRequires: xorg-x11-libICE-devel
BuildRequires: xorg-x11-libSM-devel
BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0
BuildRequires: pkgconfig(compositeproto) >= 0.4
BuildRequires: pkgconfig(damageproto) >= 1.1
BuildRequires: pkgconfig(dri)
BuildRequires: pkgconfig(fixesproto) >= 4.1
BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(fontutil)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(inputproto) >= 1.9.99.902
BuildRequires: pkgconfig(kbproto) >= 1.0.3
BuildRequires: pkgconfig(libtasn1)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
BuildRequires: pkgconfig(pixman-1) >= 0.15.20
BuildRequires: pkgconfig(randrproto) >= 1.2.99.3
BuildRequires: pkgconfig(recordproto) >= 1.13.99.1
BuildRequires: pkgconfig(renderproto) >= 0.11
BuildRequires: pkgconfig(resourceproto)
BuildRequires: pkgconfig(scrnsaverproto) >= 1.1
BuildRequires: pkgconfig(videoproto)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xextproto) >= 7.0.99.3
BuildRequires: pkgconfig(xfont) >= 1.4.2
BuildRequires: pkgconfig(xineramaproto)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xorg-macros) >= 1.14
BuildRequires: pkgconfig(xproto) >= 7.0.17
BuildRequires: pkgconfig(xtrans) >= 1.2.2
%if 0%{?suse_version} >= 1315
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
Url: http://sourceforge.net/apps/mediawiki/tigervnc/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: A high-performance, platform-neutral implementation of VNC
License: GPL-2.0 and MIT
Group: System/X11/Servers/XF86_4
Source1: tigervnc-1.4.1.tar.gz
Source2: xorg-server-1.16.1.tar.bz2
Source3: vnc.xinetd
Source4: 10-libvnc.conf
Source5: vnc-server.firewall
Source6: vnc-httpd.firewall
Source7: vnc_inetd_httpd
Source8: vnc.reg
Source9: vncpasswd.arg
Source10: index.vnc
# Tiger vnc patches
Patch1: tigervnc-newfbsize.patch
Patch2: tigervnc-clean-pressed-key-on-exit.patch
Patch3: tigervnc-sf3495623.patch
Patch4: u_tigervnc-dont-send-ascii-control-characters.patch
Patch5: u_tigervnc-ignore-epipe-on-write.patch
Patch6: n_tigervnc-date-time.patch
Patch7: U_include-vencrypt-only-if-any-subtype-present.patch
Patch8: u_tigervnc-use_preferred_mode.patch
Patch9: u_tigervnc-send-special-keys-directly.patch
Patch10: U_tigervnc-Allow-SSecurity-to-specify-AccessRights-for-SConnect.patch
Patch11: U_tigervnc-vncpasswd-Ask-for-read-only-password.patch
Patch12: U_tigervnc-VncAuth-Read-and-use-readonly-password.patch
Patch13: U_tigervnc-Add-AccessSetDesktopSize-right.patch
Patch14: U_tigervnc-Use-new-API-for-getVncAuthPasswd.patch
Patch15: U_tigervnc-Limit-access-to-non-shared-mode.patch
Patch16: U_tigervnc-Make-sure-attributes-propagate-through-security-wrap.patch
Patch17: n_tigervnc_Revert_Attempt_to_handle_Ctrl-key.patch
Patch18: u_terminate_instead_of_ignoring_restart.patch
# Xserver patches
Patch100: u_xorg-server-xdmcp.patch
Patch101: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
Patch102: U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch
Patch103: U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch
Patch104: U_unchecked_malloc_may_allow_unauthed_client_to_crash_Xserver.patch
Patch105: U_dix_integer_overflow_in_ProcPutImage.patch
Patch106: U_dix_integer_overflow_in_GetHosts.patch
Patch107: U_dix_integer_overflow_in_RegionSizeof.patch
Patch108: U_dix_integer_overflow_in_REQUEST_FIXED_SIZE.patch
Patch109: U_dri2_integer_overflow_in_ProcDRI2GetBuffers.patch
Patch110: U_dbe_unvalidated_lengths_in_DbeSwapBuffers_calls.patch
Patch111: U_Xi_unvalidated_lengths_in_Xinput_extension.patch
Patch112: U_xcmisc_unvalidated_length_in_SProcXCMiscGetXIDList.patch
Patch113: U_Xv_unvalidated_lengths_in_XVideo_extension_swapped_procs.patch
Patch114: U_dri3_unvalidated_lengths_in_DRI3_extension_swapped_procs.patch
Patch115: U_present_unvalidated_lengths_in_Present_extension_procs.patch
Patch116: U_randr_unvalidated_lengths_in_RandR_extension_swapped_procs.patch
Patch117: U_render_check_request_size_before_reading_it.patch
Patch118: U_render_unvalidated_lengths_in_Render_extn_swapped_procs.patch
Patch119: U_xfixes_unvalidated_length_in_SProcXFixesSelectSelectionInput.patch
Patch120: U_glx_Be_more_paranoid_about_variable_length_requests.patch
Patch121: U_glx_Be_more_strict_about_rejecting_invalid_image_sizes.patch
Patch122: U_glx_Additional_paranoia_in___glXGetAnswerBuffer___GLX_GET_ANSWER_BUFFER.patch
Patch123: U_glx_Fix_image_size_computation_for_EXT_texture_integer.patch
Patch124: U_glx_Add_safe__add_mul_pad.patch
Patch125: U_glx_Length_checking_for_GLXRender_requests.patch
Patch126: U_glx_Integer_overflow_protection_for_non_generated_render_requests.patch
Patch127: U_glx_Length_checking_for_RenderLarge_requests.patch
Patch128: U_glx_Top_level_length_checking_for_swapped_VendorPrivate_requests.patch
Patch129: U_glx_Request_length_checks_for_SetClientInfoARB.patch
Patch130: U_glx_Length_checking_for_non_generated_vendor_private_requests.patch
Patch131: U_glx_Length_checking_for_non_generated_single_request.patch
Patch132: U_glx_Pass_remaining_request_length_into_varsize.patch
Patch133: U_glx_Fix_mask_truncation_in___glXGetAnswerBuffer.patch
Patch134: U_dix_GetHosts_bounds_check_using_wrong_pointer_value.patch
Patch135: U_dix_Missing_parens_in_REQUEST_FIXED_SIZE_macro.patch
Patch136: U_dbe_Call_to_DDX_SwapBuffers_requires_address_of_int_not_unsigned_int.patch
Patch137: U_fb_Fix_Bresenham_algorithms_for_commonly_used_small_segments.patch
Patch138: U_xkb-check-strings-length-against-request-size.patch
%description
TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing),
a client/server application that allows users to launch and interact with graphical applications on remote machines.
TigerVNC provides the levels of performance necessary to run 3D and video applications;
it attempts to maintain a common look and feel and re-use components, where possible, across the various platforms that it supports.
TigerVNC also provides extensions for advanced authentication methods and TLS encryption.
%package -n xorg-x11-Xvnc
Requires: xinetd
Requires: xkeyboard-config
Summary: TigerVNC implementation of Xvnc
Group: System/X11/Servers/XF86_4
%description -n xorg-x11-Xvnc
This is the TigerVNC implementation of Xvnc.
%prep
%setup -T -b1 -b2
cp -r ../xorg-server-*/* unix/xserver/
if [ -e unix/xserver/hw/xfree86/modes/xf86gtf.c -o -e unix/xserver/hw/xfree86/utils/gtf/gtf.c ]; then
echo "Files hw/xfree86/modes/xf86gtf hw/xfree86/utils/gtf/gtf.c have to be excluded from the xserver source tar ball (bnc#85566)."
exit 1
fi
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p0
%patch5 -p0
%patch6 -p1
%patch7 -p0
%patch8 -p0
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
pushd unix/xserver
patch -p1 < ../xserver116.patch
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
%patch112 -p1
%patch113 -p1
%patch114 -p1
%patch115 -p1
%patch116 -p1
%patch117 -p1
%patch118 -p1
%patch119 -p1
%patch120 -p1
%patch121 -p1
%patch122 -p1
%patch123 -p1
%patch124 -p1
%patch125 -p1
%patch126 -p1
%patch127 -p1
%patch128 -p1
%patch129 -p1
%patch130 -p1
%patch131 -p1
%patch132 -p1
%patch133 -p1
%patch134 -p1
%patch135 -p1
%patch136 -p1
%patch137 -p1
%patch138 -p1
popd
%build
export CXXFLAGS="%optflags -fPIC"
export CFLAGS="%optflags -fPIC"
# Build all tigervnc
cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DCMAKE_BUILD_TYPE=RelWithDebInfo
make %{?_smp_mflags}
# Build Xvnc server
pushd unix/xserver
autoreconf -fi
%configure \
--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
--disable-xwin --disable-xephyr --disable-kdrive --with-pic \
--disable-static --disable-xinerama \
--with-xkb-path="/usr/share/X11/xkb" \
--with-xkb-output="/var/lib/xkb/compiled" \
--enable-glx --enable-dri --enable-dri2 \
--disable-config-dbus \
--disable-config-hal \
--disable-config-udev \
--without-dtrace \
--disable-unit-tests \
--disable-devel-docs \
--with-fontrootdir=/usr/share/fonts \
--disable-selective-werror
make %{?_smp_mflags} V=1
popd
# Build java client
pushd java
cmake -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}
make %{?_smp_mflags}
popd
%install
%make_install
mv $RPM_BUILD_ROOT/usr/bin/vncviewer $RPM_BUILD_ROOT/usr/bin/vncviewer-tigervnc
mv $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer.1 $RPM_BUILD_ROOT/usr/share/man/man1/vncviewer-tigervnc.1
pushd unix/xserver
%make_install
popd
pushd java
mkdir -p $RPM_BUILD_ROOT%{_datadir}/vnc/classes
install -m755 VncViewer.jar $RPM_BUILD_ROOT%{_datadir}/vnc/classes
popd
install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT/etc/xinetd.d/vnc
%ifnarch s390x
install -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-libvnc.conf
%endif
install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/vnc-server
install -D -m 644 %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/vnc-httpd
install -D -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/vnc_inetd_httpd
install -D -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/slp.reg.d/vnc.reg
install -D -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_bindir}/vncpasswd.arg
install -D -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/vnc/classes
%if 0%{?suse_version} >= 1315
ln -s -f %{_sysconfdir}/alternatives/vncviewer $RPM_BUILD_ROOT%{_bindir}/vncviewer
ln -s -f %{_sysconfdir}/alternatives/vncviewer.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/vncviewer.1.gz
%endif
%find_lang '%{name}'
%if 0%{?suse_version} >= 1315
%post
%_sbindir/update-alternatives \
--install %{_bindir}/vncviewer vncviewer %{_bindir}/vncviewer-tigervnc 20 \
--slave %{_mandir}/man1/vncviewer.1.gz vncviewer.1.gz %{_mandir}/man1/vncviewer-tigervnc.1.gz
%postun
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove vncviewer /usr/bin/vncviewer-tigervnc
fi
%endif
%files -f %{name}.lang
%defattr(-,root,root,-)
%ghost %{_bindir}/vncviewer
%{_bindir}/vncviewer-tigervnc
%exclude /usr/share/doc/tigervnc-1.4.1
%doc LICENCE.TXT
%doc README.txt
%ghost %_mandir/man1/vncviewer.1.gz
%doc %_mandir/man1/vncviewer-tigervnc.1.gz
%if 0%{?suse_version} >= 1315
%ghost %_sysconfdir/alternatives/vncviewer
%ghost %_sysconfdir/alternatives/vncviewer.1.gz
%endif
%files -n xorg-x11-Xvnc
%defattr(-,root,root)
%{_bindir}/Xvnc
%{_bindir}/vncconfig
%{_bindir}/vncpasswd
%{_bindir}/vncpasswd.arg
%{_bindir}/vncserver
%{_bindir}/x0vncserver
%{_bindir}/vnc_inetd_httpd
%exclude %{_mandir}/man1/Xserver.1*
%{_mandir}/man1/Xvnc.1*
%{_mandir}/man1/vncconfig.1*
%{_mandir}/man1/vncpasswd.1*
%{_mandir}/man1/vncserver.1*
%{_mandir}/man1/x0vncserver.1*
%exclude /usr/%{_lib}/xorg/protocol.txt
%exclude /usr/%{_lib}/xorg/modules/extensions/libvnc.la
%ifnarch s390x
%{_libdir}/xorg/modules/extensions/libvnc.so
%else
%exclude %{_libdir}/xorg/modules
%exclude %{_libdir}/xorg/modules/extensions
%exclude %{_libdir}/xorg/modules/extensions/libvnc.so
%endif
%exclude /var/lib/xkb/compiled/README.compiled
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server
%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd
%ifnarch s390x
%config(noreplace) /etc/X11/xorg.conf.d/10-libvnc.conf
%else
%exclude /etc/X11/xorg.conf.d
%endif
%config(noreplace) /etc/xinetd.d/vnc
%dir /etc/slp.reg.d
%config(noreplace) /etc/slp.reg.d/vnc.reg
%exclude /usr/lib/debug/*
%exclude /usr/lib/debug/.*
%exclude /usr/src/debug
%doc java/com/tigervnc/vncviewer/README
%{_datadir}/vnc
%changelog
++++++ 10-libvnc.conf ++++++
# This file contains configuration of libvnc.so module
#
# To get libvnc.so module working, do this:
# 1. run "vncpasswd" as root user
# 2. uncomment configuration lines below
#
# Please note you can specify any option which Xvnc accepts.
# Refer to `Xvnc -help` output for detailed list of options.
#Section "Module"
# Load "vnc"
#EndSection
#Section "Screen"
# Identifier "Screen0
# Option "SecurityTypes" "VncAuth"
# Option "PasswordFile" "/root/.vnc/passwd"
#EndSection
++++++ N_xorg-server-xdmcp.patch ++++++
Index: xorg-server-1.12.1/os/access.c
===================================================================
--- xorg-server-1.12.1.orig/os/access.c
+++ xorg-server-1.12.1/os/access.c
@@ -714,7 +714,9 @@ DefineSelf(int fd)
/*
* ignore 'localhost' entries as they're not useful
- * on the other end of the wire
+ * on the other end of the wire and because on hosts
+ * with shared home dirs they'll result in conflicting
+ * entries in ~/.Xauthority
*/
if (ifr->ifa_flags & IFF_LOOPBACK)
continue;
@@ -735,6 +737,14 @@ DefineSelf(int fd)
else if (family == FamilyInternet6 &&
IN6_IS_ADDR_LOOPBACK((struct in6_addr *) addr))
continue;
+
+ /* Ignore IPv6 link local addresses (fe80::/10), because
+ * they need a scope identifier, which we have no way
+ * of telling to the other end.
+ */
+ if (family == FamilyInternet6 &&
+ IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)addr))
+ continue;
#endif
XdmcpRegisterConnection(family, (char *) addr, len);
#if defined(IPv6) && defined(AF_INET6)
++++++ U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch ++++++
From: Egbert Eich <eich(a)freedesktop.org>
Date: Mon Aug 4 19:16:30 2014 +0200
Subject: [PATCH] BellProc: Send bell event on core protocol bell when requested
Patch-mainline: Upstream
Git-commit: e6c8c7e46c79b2837a7d0b12079a47734eff1eb7
Git-repo: git://anongit.freedesktop.org/git/xorg/xserver
References: bnc#890323
Signed-off-by: Egbert Eich <eich(a)suse.com>
XKB allows to override the BellProc() ringing the 'keyboard bell':
instead an event is sent to an X client which can perform an
appropriate action.
In most cases this effectively prevents the core protocol bell
from ringing: if no BellProc() is set for the device, no attempt
is made to ring a bell.
This patch ensures that an XKB bell event is sent also when
the core protocol bell is rung end thus an appropriate action
can be taken by a client.
Signed-off-by: Egbert Eich <eich(a)freedesktop.org>
Acked-by: Peter Hutterer <peter.hutterer(a)who-t.net>
Signed-off-by: Keith Packard <keithp(a)keithp.com>
---
dix/devices.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dix/devices.c b/dix/devices.c
index 7f079ff..5d26fae 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -2257,7 +2257,7 @@ ProcBell(ClientPtr client)
for (dev = inputInfo.devices; dev; dev = dev->next) {
if ((dev == keybd ||
(!IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == keybd)) &&
- dev->kbdfeed && dev->kbdfeed->BellProc) {
+ ((dev->kbdfeed && dev->kbdfeed->BellProc) || dev->xkb_interest)) {
rc = XaceHook(XACE_DEVICE_ACCESS, client, dev, DixBellAccess);
if (rc != Success)
++++++ U_Xi_unvalidated_lengths_in_Xinput_extension.patch ++++++
Subject: Xi: unvalidated lengths in Xinput extension
References: bnc#907268, CVE-2014-8095
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Multiple functions in the Xinput extension handling of requests from
clients failed to check that the length of the request sent by the
client was large enough to perform all the required operations and
thus could read or write to memory outside the bounds of the request
buffer.
This commit includes the creation of a new REQUEST_AT_LEAST_EXTRA_SIZE
macro in include/dix.h for the common case of needing to ensure a
request is large enough to include both the request itself and a
minimum amount of extra data following the request header.
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
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 ++
include/dix.h | 4 ++++
17 files changed, 94 insertions(+), 18 deletions(-)
diff --git a/Xi/chgdctl.c b/Xi/chgdctl.c
index d078aa2..b3ee867 100644
--- a/Xi/chgdctl.c
+++ b/Xi/chgdctl.c
@@ -78,7 +78,7 @@ SProcXChangeDeviceControl(ClientPtr client)
REQUEST(xChangeDeviceControlReq);
swaps(&stuff->length);
- REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq);
+ REQUEST_AT_LEAST_EXTRA_SIZE(xChangeDeviceControlReq, sizeof(xDeviceCtl));
swaps(&stuff->control);
ctl = (xDeviceCtl *) &stuff[1];
swaps(&ctl->control);
@@ -115,7 +115,7 @@ ProcXChangeDeviceControl(ClientPtr client)
xDeviceEnableCtl *e;
REQUEST(xChangeDeviceControlReq);
- REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq);
+ REQUEST_AT_LEAST_EXTRA_SIZE(xChangeDeviceControlReq, sizeof(xDeviceCtl));
len = stuff->length - bytes_to_int32(sizeof(xChangeDeviceControlReq));
ret = dixLookupDevice(&dev, stuff->deviceid, client, DixManageAccess);
@@ -192,6 +192,10 @@ ProcXChangeDeviceControl(ClientPtr client)
break;
case DEVICE_ENABLE:
e = (xDeviceEnableCtl *) &stuff[1];
+ if ((len != bytes_to_int32(sizeof(xDeviceEnableCtl)))) {
+ ret = BadLength;
+ goto out;
+ }
if (IsXTestDevice(dev, NULL))
status = !Success;
diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c
index 6dcf60c..224c2ba 100644
--- a/Xi/chgfctl.c
+++ b/Xi/chgfctl.c
@@ -467,6 +467,8 @@ ProcXChangeFeedbackControl(ClientPtr client)
xStringFeedbackCtl *f = ((xStringFeedbackCtl *) &stuff[1]);
if (client->swapped) {
+ if (len < bytes_to_int32(sizeof(xStringFeedbackCtl)))
+ return BadLength;
swaps(&f->num_keysyms);
}
if (len !=
diff --git a/Xi/sendexev.c b/Xi/sendexev.c
index 3c21386..183f88d 100644
--- a/Xi/sendexev.c
+++ b/Xi/sendexev.c
@@ -135,6 +135,9 @@ ProcXSendExtensionEvent(ClientPtr client)
if (ret != Success)
return ret;
+ if (stuff->num_events == 0)
+ return ret;
+
/* The client's event type must be one defined by an extension. */
first = ((xEvent *) &stuff[1]);
diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c
index ebef233..ca263ef 100644
--- a/Xi/xiallowev.c
+++ b/Xi/xiallowev.c
@@ -48,6 +48,7 @@ int
SProcXIAllowEvents(ClientPtr client)
{
REQUEST(xXIAllowEventsReq);
+ REQUEST_AT_LEAST_SIZE(xXIAllowEventsReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
@@ -55,6 +56,7 @@ SProcXIAllowEvents(ClientPtr client)
if (stuff->length > 3) {
xXI2_2AllowEventsReq *req_xi22 = (xXI2_2AllowEventsReq *) stuff;
+ REQUEST_AT_LEAST_SIZE(xXI2_2AllowEventsReq);
swapl(&req_xi22->touchid);
swapl(&req_xi22->grab_window);
}
diff --git a/Xi/xichangecursor.c b/Xi/xichangecursor.c
index 7a1bb7a..8e6255b 100644
--- a/Xi/xichangecursor.c
+++ b/Xi/xichangecursor.c
@@ -57,11 +57,11 @@ int
SProcXIChangeCursor(ClientPtr client)
{
REQUEST(xXIChangeCursorReq);
+ REQUEST_SIZE_MATCH(xXIChangeCursorReq);
swaps(&stuff->length);
swapl(&stuff->win);
swapl(&stuff->cursor);
swaps(&stuff->deviceid);
- REQUEST_SIZE_MATCH(xXIChangeCursorReq);
return (ProcXIChangeCursor(client));
}
diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c
index 9e36354..2732445 100644
--- a/Xi/xichangehierarchy.c
+++ b/Xi/xichangehierarchy.c
@@ -411,7 +411,7 @@ int
ProcXIChangeHierarchy(ClientPtr client)
{
xXIAnyHierarchyChangeInfo *any;
- int required_len = sizeof(xXIChangeHierarchyReq);
+ size_t len; /* length of data remaining in request */
int rc = Success;
int flags[MAXDEVICES] = { 0 };
@@ -421,21 +421,46 @@ ProcXIChangeHierarchy(ClientPtr client)
if (!stuff->num_changes)
return rc;
+ if (stuff->length > (INT_MAX >> 2))
+ return BadAlloc;
+ len = (stuff->length << 2) - sizeof(xXIAnyHierarchyChangeInfo);
+
any = (xXIAnyHierarchyChangeInfo *) &stuff[1];
while (stuff->num_changes--) {
+ if (len < sizeof(xXIAnyHierarchyChangeInfo)) {
+ rc = BadLength;
+ goto unwind;
+ }
+
SWAPIF(swaps(&any->type));
SWAPIF(swaps(&any->length));
- required_len += any->length;
- if ((stuff->length * 4) < required_len)
+ if ((any->length > (INT_MAX >> 2)) || (len < (any->length << 2)))
return BadLength;
+#define CHANGE_SIZE_MATCH(type) \
+ do { \
+ if ((len < sizeof(type)) || (any->length != (sizeof(type) >> 2))) { \
+ rc = BadLength; \
+ goto unwind; \
+ } \
+ } while(0)
+
switch (any->type) {
case XIAddMaster:
{
xXIAddMasterInfo *c = (xXIAddMasterInfo *) any;
+ /* Variable length, due to appended name string */
+ if (len < sizeof(xXIAddMasterInfo)) {
+ rc = BadLength;
+ goto unwind;
+ }
SWAPIF(swaps(&c->name_len));
+ if (c->name_len > (len - sizeof(xXIAddMasterInfo))) {
+ rc = BadLength;
+ goto unwind;
+ }
rc = add_master(client, c, flags);
if (rc != Success)
@@ -446,6 +471,7 @@ ProcXIChangeHierarchy(ClientPtr client)
{
xXIRemoveMasterInfo *r = (xXIRemoveMasterInfo *) any;
+ CHANGE_SIZE_MATCH(xXIRemoveMasterInfo);
rc = remove_master(client, r, flags);
if (rc != Success)
goto unwind;
@@ -455,6 +481,7 @@ ProcXIChangeHierarchy(ClientPtr client)
{
xXIDetachSlaveInfo *c = (xXIDetachSlaveInfo *) any;
+ CHANGE_SIZE_MATCH(xXIDetachSlaveInfo);
rc = detach_slave(client, c, flags);
if (rc != Success)
goto unwind;
@@ -464,6 +491,7 @@ ProcXIChangeHierarchy(ClientPtr client)
{
xXIAttachSlaveInfo *c = (xXIAttachSlaveInfo *) any;
+ CHANGE_SIZE_MATCH(xXIAttachSlaveInfo);
rc = attach_slave(client, c, flags);
if (rc != Success)
goto unwind;
@@ -471,6 +499,7 @@ ProcXIChangeHierarchy(ClientPtr client)
break;
}
+ len -= any->length * 4;
any = (xXIAnyHierarchyChangeInfo *) ((char *) any + any->length * 4);
}
diff --git a/Xi/xigetclientpointer.c b/Xi/xigetclientpointer.c
index 3c90d58..306dd39 100644
--- a/Xi/xigetclientpointer.c
+++ b/Xi/xigetclientpointer.c
@@ -50,6 +50,7 @@ int
SProcXIGetClientPointer(ClientPtr client)
{
REQUEST(xXIGetClientPointerReq);
+ REQUEST_SIZE_MATCH(xXIGetClientPointerReq);
swaps(&stuff->length);
swapl(&stuff->win);
diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c
index 63d95bc..e2a2ae3 100644
--- a/Xi/xigrabdev.c
+++ b/Xi/xigrabdev.c
@@ -47,6 +47,11 @@ int
SProcXIGrabDevice(ClientPtr client)
{
REQUEST(xXIGrabDeviceReq);
+ /*
+ * Check here for at least the length of the struct we swap, then
+ * let ProcXIGrabDevice check the full size after we swap mask_len.
+ */
+ REQUEST_AT_LEAST_SIZE(xXIGrabDeviceReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
@@ -71,7 +76,7 @@ ProcXIGrabDevice(ClientPtr client)
unsigned int pointer_mode;
REQUEST(xXIGrabDeviceReq);
- REQUEST_AT_LEAST_SIZE(xXIGrabDeviceReq);
+ REQUEST_FIXED_SIZE(xXIGrabDeviceReq, ((size_t) stuff->mask_len) * 4);
ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess);
if (ret != Success)
@@ -131,6 +136,7 @@ int
SProcXIUngrabDevice(ClientPtr client)
{
REQUEST(xXIUngrabDeviceReq);
+ REQUEST_SIZE_MATCH(xXIUngrabDeviceReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
@@ -148,6 +154,7 @@ ProcXIUngrabDevice(ClientPtr client)
TimeStamp time;
REQUEST(xXIUngrabDeviceReq);
+ REQUEST_SIZE_MATCH(xXIUngrabDeviceReq);
ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess);
if (ret != Success)
diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c
index 700622d..9241ffd 100644
--- a/Xi/xipassivegrab.c
+++ b/Xi/xipassivegrab.c
@@ -53,6 +53,7 @@ SProcXIPassiveGrabDevice(ClientPtr client)
uint32_t *mods;
REQUEST(xXIPassiveGrabDeviceReq);
+ REQUEST_AT_LEAST_SIZE(xXIPassiveGrabDeviceReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
@@ -63,6 +64,8 @@ SProcXIPassiveGrabDevice(ClientPtr client)
swaps(&stuff->mask_len);
swaps(&stuff->num_modifiers);
+ REQUEST_FIXED_SIZE(xXIPassiveGrabDeviceReq,
+ ((uint32_t) stuff->mask_len + stuff->num_modifiers) *4);
mods = (uint32_t *) &stuff[1] + stuff->mask_len;
for (i = 0; i < stuff->num_modifiers; i++, mods++) {
@@ -92,7 +95,8 @@ ProcXIPassiveGrabDevice(ClientPtr client)
int mask_len;
REQUEST(xXIPassiveGrabDeviceReq);
- REQUEST_AT_LEAST_SIZE(xXIPassiveGrabDeviceReq);
+ REQUEST_FIXED_SIZE(xXIPassiveGrabDeviceReq,
+ ((uint32_t) stuff->mask_len + stuff->num_modifiers) * 4);
if (stuff->deviceid == XIAllDevices)
dev = inputInfo.all_devices;
@@ -252,6 +256,7 @@ SProcXIPassiveUngrabDevice(ClientPtr client)
uint32_t *modifiers;
REQUEST(xXIPassiveUngrabDeviceReq);
+ REQUEST_AT_LEAST_SIZE(xXIPassiveUngrabDeviceReq);
swaps(&stuff->length);
swapl(&stuff->grab_window);
@@ -259,6 +264,8 @@ SProcXIPassiveUngrabDevice(ClientPtr client)
swapl(&stuff->detail);
swaps(&stuff->num_modifiers);
+ REQUEST_FIXED_SIZE(xXIPassiveUngrabDeviceReq,
+ ((uint32_t) stuff->num_modifiers) << 2);
modifiers = (uint32_t *) &stuff[1];
for (i = 0; i < stuff->num_modifiers; i++, modifiers++)
@@ -277,7 +284,8 @@ ProcXIPassiveUngrabDevice(ClientPtr client)
int i, rc;
REQUEST(xXIPassiveUngrabDeviceReq);
- REQUEST_AT_LEAST_SIZE(xXIPassiveUngrabDeviceReq);
+ REQUEST_FIXED_SIZE(xXIPassiveUngrabDeviceReq,
+ ((uint32_t) stuff->num_modifiers) << 2);
if (stuff->deviceid == XIAllDevices)
dev = inputInfo.all_devices;
diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c
index 463607d..8e8e4b0 100644
--- a/Xi/xiproperty.c
+++ b/Xi/xiproperty.c
@@ -1013,10 +1013,9 @@ int
SProcXListDeviceProperties(ClientPtr client)
{
REQUEST(xListDevicePropertiesReq);
+ REQUEST_SIZE_MATCH(xListDevicePropertiesReq);
swaps(&stuff->length);
-
- REQUEST_SIZE_MATCH(xListDevicePropertiesReq);
return (ProcXListDeviceProperties(client));
}
@@ -1037,10 +1036,10 @@ int
SProcXDeleteDeviceProperty(ClientPtr client)
{
REQUEST(xDeleteDevicePropertyReq);
+ REQUEST_SIZE_MATCH(xDeleteDevicePropertyReq);
swaps(&stuff->length);
swapl(&stuff->property);
- REQUEST_SIZE_MATCH(xDeleteDevicePropertyReq);
return (ProcXDeleteDeviceProperty(client));
}
@@ -1048,13 +1047,13 @@ int
SProcXGetDeviceProperty(ClientPtr client)
{
REQUEST(xGetDevicePropertyReq);
+ REQUEST_SIZE_MATCH(xGetDevicePropertyReq);
swaps(&stuff->length);
swapl(&stuff->property);
swapl(&stuff->type);
swapl(&stuff->longOffset);
swapl(&stuff->longLength);
- REQUEST_SIZE_MATCH(xGetDevicePropertyReq);
return (ProcXGetDeviceProperty(client));
}
@@ -1253,11 +1252,10 @@ int
SProcXIListProperties(ClientPtr client)
{
REQUEST(xXIListPropertiesReq);
+ REQUEST_SIZE_MATCH(xXIListPropertiesReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
-
- REQUEST_SIZE_MATCH(xXIListPropertiesReq);
return (ProcXIListProperties(client));
}
@@ -1279,11 +1277,11 @@ int
SProcXIDeleteProperty(ClientPtr client)
{
REQUEST(xXIDeletePropertyReq);
+ REQUEST_SIZE_MATCH(xXIDeletePropertyReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
swapl(&stuff->property);
- REQUEST_SIZE_MATCH(xXIDeletePropertyReq);
return (ProcXIDeleteProperty(client));
}
@@ -1291,6 +1289,7 @@ int
SProcXIGetProperty(ClientPtr client)
{
REQUEST(xXIGetPropertyReq);
+ REQUEST_SIZE_MATCH(xXIGetPropertyReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
@@ -1298,7 +1297,6 @@ SProcXIGetProperty(ClientPtr client)
swapl(&stuff->type);
swapl(&stuff->offset);
swapl(&stuff->len);
- REQUEST_SIZE_MATCH(xXIGetPropertyReq);
return (ProcXIGetProperty(client));
}
diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c
index 4e544f0..67a9a4f 100644
--- a/Xi/xiquerydevice.c
+++ b/Xi/xiquerydevice.c
@@ -54,6 +54,7 @@ int
SProcXIQueryDevice(ClientPtr client)
{
REQUEST(xXIQueryDeviceReq);
+ REQUEST_SIZE_MATCH(xXIQueryDeviceReq);
swaps(&stuff->length);
swaps(&stuff->deviceid);
diff --git a/Xi/xiquerypointer.c b/Xi/xiquerypointer.c
index e9bdd42..7ec0c85 100644
--- a/Xi/xiquerypointer.c
+++ b/Xi/xiquerypointer.c
@@ -63,6 +63,8 @@ int
SProcXIQueryPointer(ClientPtr client)
{
REQUEST(xXIQueryPointerReq);
+ REQUEST_SIZE_MATCH(xXIQueryPointerReq);
+
swaps(&stuff->length);
swaps(&stuff->deviceid);
swapl(&stuff->win);
diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c
index 45a996e..168579f 100644
--- a/Xi/xiselectev.c
+++ b/Xi/xiselectev.c
@@ -114,6 +114,7 @@ int
SProcXISelectEvents(ClientPtr client)
{
int i;
+ int len;
xXIEventMask *evmask;
REQUEST(xXISelectEventsReq);
@@ -122,10 +123,17 @@ SProcXISelectEvents(ClientPtr client)
swapl(&stuff->win);
swaps(&stuff->num_masks);
+ len = stuff->length - bytes_to_int32(sizeof(xXISelectEventsReq));
evmask = (xXIEventMask *) &stuff[1];
for (i = 0; i < stuff->num_masks; i++) {
+ if (len < bytes_to_int32(sizeof(xXIEventMask)))
+ return BadLength;
+ len -= bytes_to_int32(sizeof(xXIEventMask));
swaps(&evmask->deviceid);
swaps(&evmask->mask_len);
+ if (len < evmask->mask_len)
+ return BadLength;
+ len -= evmask->mask_len;
evmask =
(xXIEventMask *) (((char *) &evmask[1]) + evmask->mask_len * 4);
}
diff --git a/Xi/xisetclientpointer.c b/Xi/xisetclientpointer.c
index 38ff51e..24d4a53 100644
--- a/Xi/xisetclientpointer.c
+++ b/Xi/xisetclientpointer.c
@@ -51,10 +51,11 @@ int
SProcXISetClientPointer(ClientPtr client)
{
REQUEST(xXISetClientPointerReq);
+ REQUEST_SIZE_MATCH(xXISetClientPointerReq);
+
swaps(&stuff->length);
swapl(&stuff->win);
swaps(&stuff->deviceid);
- REQUEST_SIZE_MATCH(xXISetClientPointerReq);
return (ProcXISetClientPointer(client));
}
diff --git a/Xi/xisetdevfocus.c b/Xi/xisetdevfocus.c
index 372ec24..96a9a16 100644
--- a/Xi/xisetdevfocus.c
+++ b/Xi/xisetdevfocus.c
@@ -44,6 +44,8 @@ int
SProcXISetFocus(ClientPtr client)
{
REQUEST(xXISetFocusReq);
+ REQUEST_AT_LEAST_SIZE(xXISetFocusReq);
+
swaps(&stuff->length);
swaps(&stuff->deviceid);
swapl(&stuff->focus);
@@ -56,6 +58,8 @@ int
SProcXIGetFocus(ClientPtr client)
{
REQUEST(xXIGetFocusReq);
+ REQUEST_AT_LEAST_SIZE(xXIGetFocusReq);
+
swaps(&stuff->length);
swaps(&stuff->deviceid);
diff --git a/Xi/xiwarppointer.c b/Xi/xiwarppointer.c
index 3f051f7..780758a 100644
--- a/Xi/xiwarppointer.c
+++ b/Xi/xiwarppointer.c
@@ -56,6 +56,8 @@ int
SProcXIWarpPointer(ClientPtr client)
{
REQUEST(xXIWarpPointerReq);
+ REQUEST_SIZE_MATCH(xXIWarpPointerReq);
+
swaps(&stuff->length);
swapl(&stuff->src_win);
swapl(&stuff->dst_win);
diff --git a/include/dix.h b/include/dix.h
index e0c6ed8..21176a8 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -74,6 +74,10 @@ SOFTWARE.
if ((sizeof(req) >> 2) > client->req_len )\
return(BadLength)
+#define REQUEST_AT_LEAST_EXTRA_SIZE(req, extra) \
+ if (((sizeof(req) + ((uint64_t) extra)) >> 2) > client->req_len ) \
+ return(BadLength)
+
#define REQUEST_FIXED_SIZE(req, n)\
if (((sizeof(req) >> 2) > client->req_len) || \
((n >> 2) >= client->req_len) || \
--
1.7.9.2
++++++ U_Xv_unvalidated_lengths_in_XVideo_extension_swapped_procs.patch ++++++
Subject: Xv: unvalidated lengths in XVideo extension swapped procs
References: bnc#907268, CVE-2014-8099
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
Xext/xvdisp.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c
index 86f982a..c2d0fc9 100644
--- a/Xext/xvdisp.c
+++ b/Xext/xvdisp.c
@@ -1121,6 +1121,7 @@ static int
SProcXvQueryExtension(ClientPtr client)
{
REQUEST(xvQueryExtensionReq);
+ REQUEST_SIZE_MATCH(xvQueryExtensionReq);
swaps(&stuff->length);
return XvProcVector[xv_QueryExtension] (client);
}
@@ -1129,6 +1130,7 @@ static int
SProcXvQueryAdaptors(ClientPtr client)
{
REQUEST(xvQueryAdaptorsReq);
+ REQUEST_SIZE_MATCH(xvQueryAdaptorsReq);
swaps(&stuff->length);
swapl(&stuff->window);
return XvProcVector[xv_QueryAdaptors] (client);
@@ -1138,6 +1140,7 @@ static int
SProcXvQueryEncodings(ClientPtr client)
{
REQUEST(xvQueryEncodingsReq);
+ REQUEST_SIZE_MATCH(xvQueryEncodingsReq);
swaps(&stuff->length);
swapl(&stuff->port);
return XvProcVector[xv_QueryEncodings] (client);
@@ -1147,6 +1150,7 @@ static int
SProcXvGrabPort(ClientPtr client)
{
REQUEST(xvGrabPortReq);
+ REQUEST_SIZE_MATCH(xvGrabPortReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->time);
@@ -1157,6 +1161,7 @@ static int
SProcXvUngrabPort(ClientPtr client)
{
REQUEST(xvUngrabPortReq);
+ REQUEST_SIZE_MATCH(xvUngrabPortReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->time);
@@ -1167,6 +1172,7 @@ static int
SProcXvPutVideo(ClientPtr client)
{
REQUEST(xvPutVideoReq);
+ REQUEST_SIZE_MATCH(xvPutVideoReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1186,6 +1192,7 @@ static int
SProcXvPutStill(ClientPtr client)
{
REQUEST(xvPutStillReq);
+ REQUEST_SIZE_MATCH(xvPutStillReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1205,6 +1212,7 @@ static int
SProcXvGetVideo(ClientPtr client)
{
REQUEST(xvGetVideoReq);
+ REQUEST_SIZE_MATCH(xvGetVideoReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1224,6 +1232,7 @@ static int
SProcXvGetStill(ClientPtr client)
{
REQUEST(xvGetStillReq);
+ REQUEST_SIZE_MATCH(xvGetStillReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1243,6 +1252,7 @@ static int
SProcXvPutImage(ClientPtr client)
{
REQUEST(xvPutImageReq);
+ REQUEST_AT_LEAST_SIZE(xvPutImageReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1266,6 +1276,7 @@ static int
SProcXvShmPutImage(ClientPtr client)
{
REQUEST(xvShmPutImageReq);
+ REQUEST_SIZE_MATCH(xvShmPutImageReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1293,6 +1304,7 @@ static int
SProcXvSelectVideoNotify(ClientPtr client)
{
REQUEST(xvSelectVideoNotifyReq);
+ REQUEST_SIZE_MATCH(xvSelectVideoNotifyReq);
swaps(&stuff->length);
swapl(&stuff->drawable);
return XvProcVector[xv_SelectVideoNotify] (client);
@@ -1302,6 +1314,7 @@ static int
SProcXvSelectPortNotify(ClientPtr client)
{
REQUEST(xvSelectPortNotifyReq);
+ REQUEST_SIZE_MATCH(xvSelectPortNotifyReq);
swaps(&stuff->length);
swapl(&stuff->port);
return XvProcVector[xv_SelectPortNotify] (client);
@@ -1311,6 +1324,7 @@ static int
SProcXvStopVideo(ClientPtr client)
{
REQUEST(xvStopVideoReq);
+ REQUEST_SIZE_MATCH(xvStopVideoReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->drawable);
@@ -1321,6 +1335,7 @@ static int
SProcXvSetPortAttribute(ClientPtr client)
{
REQUEST(xvSetPortAttributeReq);
+ REQUEST_SIZE_MATCH(xvSetPortAttributeReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->attribute);
@@ -1332,6 +1347,7 @@ static int
SProcXvGetPortAttribute(ClientPtr client)
{
REQUEST(xvGetPortAttributeReq);
+ REQUEST_SIZE_MATCH(xvGetPortAttributeReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->attribute);
@@ -1342,6 +1358,7 @@ static int
SProcXvQueryBestSize(ClientPtr client)
{
REQUEST(xvQueryBestSizeReq);
+ REQUEST_SIZE_MATCH(xvQueryBestSizeReq);
swaps(&stuff->length);
swapl(&stuff->port);
swaps(&stuff->vid_w);
@@ -1355,6 +1372,7 @@ static int
SProcXvQueryPortAttributes(ClientPtr client)
{
REQUEST(xvQueryPortAttributesReq);
+ REQUEST_SIZE_MATCH(xvQueryPortAttributesReq);
swaps(&stuff->length);
swapl(&stuff->port);
return XvProcVector[xv_QueryPortAttributes] (client);
@@ -1364,6 +1382,7 @@ static int
SProcXvQueryImageAttributes(ClientPtr client)
{
REQUEST(xvQueryImageAttributesReq);
+ REQUEST_SIZE_MATCH(xvQueryImageAttributesReq);
swaps(&stuff->length);
swapl(&stuff->port);
swapl(&stuff->id);
@@ -1376,6 +1395,7 @@ static int
SProcXvListImageFormats(ClientPtr client)
{
REQUEST(xvListImageFormatsReq);
+ REQUEST_SIZE_MATCH(xvListImageFormatsReq);
swaps(&stuff->length);
swapl(&stuff->port);
return XvProcVector[xv_ListImageFormats] (client);
--
1.7.9.2
++++++ U_dbe_Call_to_DDX_SwapBuffers_requires_address_of_int_not_unsigned_int.patch ++++++
Subject: dbe: Call to DDX SwapBuffers requires address of int, not unsigned int
References: bnc#907268, CVE-2014-8097
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com
Reviewed-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
dbe/dbe.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dbe/dbe.c b/dbe/dbe.c
index df2ad5c..e5d928d 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -452,6 +452,7 @@ ProcDbeSwapBuffers(ClientPtr client)
int error;
unsigned int i, j;
unsigned int nStuff;
+ int nStuff_i; /* DDX API requires int for nStuff */
REQUEST_AT_LEAST_SIZE(xDbeSwapBuffersReq);
nStuff = stuff->n; /* use local variable for performance. */
@@ -527,9 +528,10 @@ ProcDbeSwapBuffers(ClientPtr client)
* could deal with cross-screen synchronization.
*/
- while (nStuff > 0) {
+ nStuff_i = nStuff;
+ while (nStuff_i > 0) {
pDbeScreenPriv = DBE_SCREEN_PRIV_FROM_WINDOW(swapInfo[0].pWindow);
- error = (*pDbeScreenPriv->SwapBuffers) (client, &nStuff, swapInfo);
+ error = (*pDbeScreenPriv->SwapBuffers) (client, &nStuff_i, swapInfo);
if (error != Success) {
free(swapInfo);
return error;
--
1.8.4.5
++++++ U_dbe_unvalidated_lengths_in_DbeSwapBuffers_calls.patch ++++++
Subject: dbe: unvalidated lengths in DbeSwapBuffers calls
References: bnc#907268, CVE-2014-8097
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
ProcDbeSwapBuffers() has a 32bit (n) length value that it uses to read
from a buffer. The length is never validated, which can lead to out of
bound reads, and possibly returning the data read from out of bounds to
the misbehaving client via an X Error packet.
SProcDbeSwapBuffers() swaps data (for correct endianness) before
handing it off to the real proc. While doing the swapping, the
length field is not validated, which can cause memory corruption.
v2: reorder checks to avoid compilers optimizing out checks for overflow
that happen after we'd already have done the overflowing multiplications.
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
dbe/dbe.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dbe/dbe.c b/dbe/dbe.c
index 527588c..df2ad5c 100644
--- a/dbe/dbe.c
+++ b/dbe/dbe.c
@@ -450,18 +450,20 @@ ProcDbeSwapBuffers(ClientPtr client)
DbeSwapInfoPtr swapInfo;
xDbeSwapInfo *dbeSwapInfo;
int error;
- register int i, j;
- int nStuff;
+ unsigned int i, j;
+ unsigned int nStuff;
REQUEST_AT_LEAST_SIZE(xDbeSwapBuffersReq);
nStuff = stuff->n; /* use local variable for performance. */
if (nStuff == 0) {
+ REQUEST_SIZE_MATCH(xDbeSwapBuffersReq);
return Success;
}
if (nStuff > UINT32_MAX / sizeof(DbeSwapInfoRec))
return BadAlloc;
+ REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, nStuff * sizeof(xDbeSwapInfo));
/* Get to the swap info appended to the end of the request. */
dbeSwapInfo = (xDbeSwapInfo *) &stuff[1];
@@ -914,13 +916,16 @@ static int
SProcDbeSwapBuffers(ClientPtr client)
{
REQUEST(xDbeSwapBuffersReq);
- register int i;
+ unsigned int i;
xDbeSwapInfo *pSwapInfo;
swaps(&stuff->length);
REQUEST_AT_LEAST_SIZE(xDbeSwapBuffersReq);
swapl(&stuff->n);
+ if (stuff->n > UINT32_MAX / sizeof(DbeSwapInfoRec))
+ return BadAlloc;
+ REQUEST_FIXED_SIZE(xDbeSwapBuffersReq, stuff->n * sizeof(xDbeSwapInfo));
if (stuff->n != 0) {
pSwapInfo = (xDbeSwapInfo *) stuff + 1;
--
1.7.9.2
++++++ U_dix_GetHosts_bounds_check_using_wrong_pointer_value.patch ++++++
Subject: dix: GetHosts bounds check using wrong pointer value
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
os/access.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/os/access.c b/os/access.c
index f393c8d..28f2d32 100644
--- a/os/access.c
+++ b/os/access.c
@@ -1308,7 +1308,7 @@ GetHosts(void **data, int *pnHosts, int *pLen, BOOL * pEnabled)
}
for (host = validhosts; host; host = host->next) {
len = host->len;
- if ((ptr + sizeof(xHostEntry) + len) > (data + n))
+ if ((ptr + sizeof(xHostEntry) + len) > ((unsigned char *) *data + n))
break;
((xHostEntry *) ptr)->family = host->family;
((xHostEntry *) ptr)->length = len;
--
1.8.4.5
++++++ U_dix_Missing_parens_in_REQUEST_FIXED_SIZE_macro.patch ++++++
Subject: Missing parens in REQUEST_FIXED_SIZE macro
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
The 'n' parameter must be surrounded by parens in both places to
prevent precedence from mis-computing things.
Signed-off-by: Keith Packard <keithp(a)keithp.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
include/dix.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/dix.h b/include/dix.h
index 21176a8..921156b 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -80,7 +80,7 @@ SOFTWARE.
#define REQUEST_FIXED_SIZE(req, n)\
if (((sizeof(req) >> 2) > client->req_len) || \
- ((n >> 2) >= client->req_len) || \
+ (((n) >> 2) >= client->req_len) || \
((((uint64_t) sizeof(req) + (n) + 3) >> 2) != (uint64_t) client->req_len)) \
return(BadLength)
--
1.8.4.5
++++++ U_dix_integer_overflow_in_GetHosts.patch ++++++
Subject: dix: integer overflow in GetHosts()
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
GetHosts() iterates over all the hosts it has in memory, and copies
them to a buffer. The buffer length is calculated by iterating over
all the hosts and adding up all of their combined length. There is a
potential integer overflow, if there are lots and lots of hosts (with
a combined length of > ~4 gig). This should be possible by repeatedly
calling ProcChangeHosts() on 64bit machines with enough memory.
This patch caps the list at 1mb, because multi-megabyte hostname
lists for X access control are insane.
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
os/access.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/os/access.c b/os/access.c
index 5c510de..f393c8d 100644
--- a/os/access.c
+++ b/os/access.c
@@ -1296,6 +1296,10 @@ GetHosts(void **data, int *pnHosts, int *pLen, BOOL * pEnabled)
for (host = validhosts; host; host = host->next) {
nHosts++;
n += pad_to_int32(host->len) + sizeof(xHostEntry);
+ /* Could check for INT_MAX, but in reality having more than 1mb of
+ hostnames in the access list is ridiculous */
+ if (n >= 1048576)
+ break;
}
if (n) {
*data = ptr = malloc(n);
@@ -1304,6 +1308,8 @@ GetHosts(void **data, int *pnHosts, int *pLen, BOOL * pEnabled)
}
for (host = validhosts; host; host = host->next) {
len = host->len;
+ if ((ptr + sizeof(xHostEntry) + len) > (data + n))
+ break;
((xHostEntry *) ptr)->family = host->family;
((xHostEntry *) ptr)->length = len;
ptr += sizeof(xHostEntry);
--
1.7.9.2
++++++ U_dix_integer_overflow_in_ProcPutImage.patch ++++++
Subject: dix: integer overflow in ProcPutImage()
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
ProcPutImage() calculates a length field from a width, left pad and depth
specified by the client (if the specified format is XYPixmap).
The calculations for the total amount of memory the server needs for the
pixmap can overflow a 32-bit number, causing out-of-bounds memory writes
on 32-bit systems (since the length is stored in a long int variable).
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
dix/dispatch.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dix/dispatch.c b/dix/dispatch.c
index d844a09..55b978d 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -2000,6 +2000,9 @@ ProcPutImage(ClientPtr client)
tmpImage = (char *) &stuff[1];
lengthProto = length;
+ if (lengthProto >= (INT32_MAX / stuff->height))
+ return BadLength;
+
if ((bytes_to_int32(lengthProto * stuff->height) +
bytes_to_int32(sizeof(xPutImageReq))) != client->req_len)
return BadLength;
--
1.7.9.2
++++++ U_dix_integer_overflow_in_REQUEST_FIXED_SIZE.patch ++++++
Subject: dix: integer overflow in REQUEST_FIXED_SIZE()
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Force use of 64-bit integers when evaluating data provided by clients
in 32-bit fields which can overflow when added or multiplied during
checks.
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
include/dix.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/dix.h b/include/dix.h
index 991a3ce..e0c6ed8 100644
--- a/include/dix.h
+++ b/include/dix.h
@@ -76,7 +76,8 @@ SOFTWARE.
#define REQUEST_FIXED_SIZE(req, n)\
if (((sizeof(req) >> 2) > client->req_len) || \
- (((sizeof(req) + (n) + 3) >> 2) != client->req_len)) \
+ ((n >> 2) >= client->req_len) || \
+ ((((uint64_t) sizeof(req) + (n) + 3) >> 2) != (uint64_t) client->req_len)) \
return(BadLength)
#define LEGAL_NEW_RESOURCE(id,client)\
--
1.7.9.2
++++++ U_dix_integer_overflow_in_RegionSizeof.patch ++++++
Subject: dix: integer overflow in RegionSizeof()
References: bnc#907268, CVE-2014-8092
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
RegionSizeof contains several integer overflows if a large length
value is passed in. Once we fix it to return 0 on overflow, we
also have to fix the callers to handle this error condition
v2: Fixed limit calculation in RegionSizeof as pointed out by jcristau.
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
---
dix/region.c | 20 +++++++++++++-------
include/regionstr.h | 10 +++++++---
2 files changed, 20 insertions(+), 10 deletions(-)
Index: xorg-server-1.15.2/dix/region.c
===================================================================
--- xorg-server-1.15.2.orig/dix/region.c
+++ xorg-server-1.15.2/dix/region.c
@@ -169,7 +169,6 @@ Equipment Corporation.
((r1)->y1 <= (r2)->y1) && \
((r1)->y2 >= (r2)->y2) )
-#define xallocData(n) malloc(RegionSizeof(n))
#define xfreeData(reg) if ((reg)->data && (reg)->data->size) free((reg)->data)
#define RECTALLOC_BAIL(pReg,n,bail) \
@@ -205,8 +204,9 @@ if (!(pReg)->data || (((pReg)->data->num
#define DOWNSIZE(reg,numRects) \
if (((numRects) < ((reg)->data->size >> 1)) && ((reg)->data->size > 50)) \
{ \
- RegDataPtr NewData; \
- NewData = (RegDataPtr)realloc((reg)->data, RegionSizeof(numRects)); \
+ size_t NewSize = RegionSizeof(numRects); \
+ RegDataPtr NewData = \
+ (NewSize > 0) ? realloc((reg)->data, NewSize) : NULL ; \
if (NewData) \
{ \
NewData->size = (numRects); \
@@ -345,17 +345,20 @@ Bool
RegionRectAlloc(RegionPtr pRgn, int n)
{
RegDataPtr data;
+ size_t rgnSize;
if (!pRgn->data) {
n++;
- pRgn->data = xallocData(n);
+ rgnSize = RegionSizeof(n);
+ pRgn->data = (rgnSize > 0) ? malloc(rgnSize) : NULL;
if (!pRgn->data)
return RegionBreak(pRgn);
pRgn->data->numRects = 1;
*RegionBoxptr(pRgn) = pRgn->extents;
}
else if (!pRgn->data->size) {
- pRgn->data = xallocData(n);
+ rgnSize = RegionSizeof(n);
+ pRgn->data = (rgnSize > 0) ? malloc(rgnSize) : NULL;
if (!pRgn->data)
return RegionBreak(pRgn);
pRgn->data->numRects = 0;
@@ -367,7 +370,8 @@ RegionRectAlloc(RegionPtr pRgn, int n)
n = 250;
}
n += pRgn->data->numRects;
- data = (RegDataPtr) realloc(pRgn->data, RegionSizeof(n));
+ rgnSize = RegionSizeof(n);
+ data = (rgnSize > 0) ? realloc(pRgn->data, rgnSize) : NULL;
if (!data)
return RegionBreak(pRgn);
pRgn->data = data;
@@ -1312,6 +1316,7 @@ RegionFromRects(int nrects, xRectangle *
{
RegionPtr pRgn;
+ size_t rgnSize;
RegDataPtr pData;
BoxPtr pBox;
int i;
@@ -1338,7 +1343,8 @@ RegionFromRects(int nrects, xRectangle *
}
return pRgn;
}
- pData = xallocData(nrects);
+ rgnSize = RegionSizeof(nrects);
+ pData = (rgnSize > 0) ? malloc(rgnSize) : NULL;
if (!pData) {
RegionBreak(pRgn);
return pRgn;
Index: xorg-server-1.15.2/include/regionstr.h
===================================================================
--- xorg-server-1.15.2.orig/include/regionstr.h
+++ xorg-server-1.15.2/include/regionstr.h
@@ -127,7 +127,10 @@ RegionEnd(RegionPtr reg)
static inline size_t
RegionSizeof(int n)
{
- return (sizeof(RegDataRec) + ((n) * sizeof(BoxRec)));
+ if (n < ((INT_MAX - sizeof(RegDataRec)) / sizeof(BoxRec)))
+ return (sizeof(RegDataRec) + ((n) * sizeof(BoxRec)));
+ else
+ return 0;
}
static inline void
@@ -138,9 +141,10 @@ RegionInit(RegionPtr _pReg, BoxPtr _rect
(_pReg)->data = (RegDataPtr) NULL;
}
else {
+ size_t rgnSize;
(_pReg)->extents = RegionEmptyBox;
- if (((_size) > 1) && ((_pReg)->data =
- (RegDataPtr) malloc(RegionSizeof(_size)))) {
+ if (((_size) > 1) && ((rgnSize = RegionSizeof(_size)) > 0) &&
+ (((_pReg)->data = malloc(rgnSize)) != NULL)) {
(_pReg)->data->size = (_size);
(_pReg)->data->numRects = 0;
}
++++++ U_dri2_integer_overflow_in_ProcDRI2GetBuffers.patch ++++++
Subject: dri2: integer overflow in ProcDRI2GetBuffers()
References: bnc#907268, CVE-2014-8094
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
ProcDRI2GetBuffers() tries to validate a length field (count).
There is an integer overflow in the validation. This can cause
out of bound reads and memory corruption later on.
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
---
hw/xfree86/dri2/dri2ext.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/xfree86/dri2/dri2ext.c b/hw/xfree86/dri2/dri2ext.c
index ffd66fa..221ec53 100644
--- a/hw/xfree86/dri2/dri2ext.c
+++ b/hw/xfree86/dri2/dri2ext.c
@@ -270,6 +270,9 @@ ProcDRI2GetBuffers(ClientPtr client)
unsigned int *attachments;
REQUEST_FIXED_SIZE(xDRI2GetBuffersReq, stuff->count * 4);
+ if (stuff->count > (INT_MAX / 4))
+ return BadLength;
+
if (!validDrawable(client, stuff->drawable, DixReadAccess | DixWriteAccess,
&pDrawable, &status))
return status;
--
1.7.9.2
++++++ U_dri3_unvalidated_lengths_in_DRI3_extension_swapped_procs.patch ++++++
Subject: dri3: unvalidated lengths in DRI3 extension swapped procs
References: bnc#907268, CVE-2014-8103
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
dri3/dri3_request.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dri3/dri3_request.c b/dri3/dri3_request.c
index fe45620..2d75588 100644
--- a/dri3/dri3_request.c
+++ b/dri3/dri3_request.c
@@ -321,6 +321,7 @@ static int
sproc_dri3_query_version(ClientPtr client)
{
REQUEST(xDRI3QueryVersionReq);
+ REQUEST_SIZE_MATCH(xDRI3QueryVersionReq);
swaps(&stuff->length);
swapl(&stuff->majorVersion);
@@ -332,6 +333,7 @@ static int
sproc_dri3_open(ClientPtr client)
{
REQUEST(xDRI3OpenReq);
+ REQUEST_SIZE_MATCH(xDRI3OpenReq);
swaps(&stuff->length);
swapl(&stuff->drawable);
@@ -343,6 +345,7 @@ static int
sproc_dri3_pixmap_from_buffer(ClientPtr client)
{
REQUEST(xDRI3PixmapFromBufferReq);
+ REQUEST_SIZE_MATCH(xDRI3PixmapFromBufferReq);
swaps(&stuff->length);
swapl(&stuff->pixmap);
@@ -358,6 +361,7 @@ static int
sproc_dri3_buffer_from_pixmap(ClientPtr client)
{
REQUEST(xDRI3BufferFromPixmapReq);
+ REQUEST_SIZE_MATCH(xDRI3BufferFromPixmapReq);
swaps(&stuff->length);
swapl(&stuff->pixmap);
@@ -368,6 +372,7 @@ static int
sproc_dri3_fence_from_fd(ClientPtr client)
{
REQUEST(xDRI3FenceFromFDReq);
+ REQUEST_SIZE_MATCH(xDRI3FenceFromFDReq);
swaps(&stuff->length);
swapl(&stuff->drawable);
@@ -379,6 +384,7 @@ static int
sproc_dri3_fd_from_fence(ClientPtr client)
{
REQUEST(xDRI3FDFromFenceReq);
+ REQUEST_SIZE_MATCH(xDRI3FDFromFenceReq);
swaps(&stuff->length);
swapl(&stuff->drawable);
--
1.7.9.2
++++++ U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch ++++++
>From fe5018e0564118a7a8198fa286186fdb9ed818c7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Tue, 19 Aug 2014 15:57:22 -0500
Subject: [PATCH] fb: Fix invalid bpp for 24bit depth window
We have a hack in fb layer for a 24bpp screen to use 32bpp images, and
fbCreateWindow() replaces its drawable.bitsPerPixel field
appropriately. But, the problem is that it always replaces when 32bpp
is passed. If the depth is 32, this results in bpp < depth, which is
actually invalid.
Meanwhile, fbCreatePixmap() has a more check and it creates with 24bpp
only when the passed depth <= 24 for avoiding such a problem.
This oneliner patch just adds the similar check in fbCreateWindow().
This (hopefully) fixes the long-standing broken graphics mess of
cirrus KMS with 24bpp.
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
Reviewed-by: Keith Packard <keithp(a)keithp.com>
---
fb/fbwindow.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index 368c4b883b31..c90175faa078 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -33,7 +33,7 @@ fbCreateWindow(WindowPtr pWin)
{
dixSetPrivate(&pWin->devPrivates, fbGetWinPrivateKey(pWin),
fbGetScreenPixmap(pWin->drawable.pScreen));
- if (pWin->drawable.bitsPerPixel == 32)
+ if (pWin->drawable.bitsPerPixel == 32 && pWin->drawable.depth <= 24)
pWin->drawable.bitsPerPixel =
fbGetScreenPrivate(pWin->drawable.pScreen)->win32bpp;
return TRUE;
--
2.0.4
++++++ U_fb_Fix_Bresenham_algorithms_for_commonly_used_small_segments.patch ++++++
Subject: fb: Fix Bresenham algorithms for commonly used small segments.
Git-commit: 1b94fd77792310c80b0a2bcf4bf6d4e4c4c23bca
Author: Alex Orange <crazycasta(a)gmail.com>
Patch-Mainline: Upstream
References: bnc#908258, bnc#856931, fdo#54168
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=54168
Fix errors introducted in 863d528a9f76d0e8f122aebf19f8564a4c67a938. Said
patch does indeed remove the problematic writes to bad memory, however
it also introduces errors in the algoritm. This patch has the effect of
reverting said patch and adding an if in the proper location to catch
the out of bounds memory write without causing problems to the overall
algorithm.
Signed-off-by: Alex Orange <crazycasta(a)gmail.com>
Reviewed-by: Peter Harris <pharris(a)opentext.com>
Tested-by: Peter Harris <pharris(a)opentext.com>
Signed-off-by: Keith Packard <keithp(a)keithp.com>
---
fb/fbseg.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/fb/fbseg.c b/fb/fbseg.c
index 36b17e3..c3c196a 100644
--- a/fb/fbseg.c
+++ b/fb/fbseg.c
@@ -65,12 +65,6 @@ fbBresSolid(DrawablePtr pDrawable,
if (axis == X_AXIS) {
bits = 0;
while (len--) {
- if (e >= 0) {
- WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
- bits = 0;
- dst += dstStride;
- e += e3;
- }
bits |= mask;
mask = fbBresShiftMask(mask, signdx, dstBpp);
if (!mask) {
@@ -80,12 +74,23 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
e += e1;
+ if (e >= 0) {
+ if (bits) {
+ WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
+ bits = 0;
+ }
+ dst += dstStride;
+ e += e3;
+ }
}
if (bits)
WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
}
else {
while (len--) {
+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
+ dst += dstStride;
+ e += e1;
if (e >= 0) {
e += e3;
mask = fbBresShiftMask(mask, signdx, dstBpp);
@@ -94,9 +99,6 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
}
- WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
- dst += dstStride;
- e += e1;
}
}
--
1.8.4.5
++++++ U_glx_Add_safe__add_mul_pad.patch ++++++
Subject: glx: Add safe_{add,mul,pad} (v3)
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/glxserver.h | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/glx/glxserver.h b/glx/glxserver.h
index a324b29..9482601 100644
--- a/glx/glxserver.h
+++ b/glx/glxserver.h
@@ -228,6 +228,47 @@ extern void glxSwapQueryServerStringReply(ClientPtr client,
* Routines for computing the size of variably-sized rendering commands.
*/
+static _X_INLINE int
+safe_add(int a, int b)
+{
+ if (a < 0 || b < 0)
+ return -1;
+
+ if (INT_MAX - a < b)
+ return -1;
+
+ return a + b;
+}
+
+static _X_INLINE int
+safe_mul(int a, int b)
+{
+ if (a < 0 || b < 0)
+ return -1;
+
+ if (a == 0 || b == 0)
+ return 0;
+
+ if (a > INT_MAX / b)
+ return -1;
+
+ return a * b;
+}
+
+static _X_INLINE int
+safe_pad(int a)
+{
+ int ret;
+
+ if (a < 0)
+ return -1;
+
+ if ((ret = safe_add(a, 3)) < 0)
+ return -1;
+
+ return ret & (GLuint)~3;
+}
+
extern int __glXTypeSize(GLenum enm);
extern int __glXImageSize(GLenum format, GLenum type,
GLenum target, GLsizei w, GLsizei h, GLsizei d,
--
1.7.9.2
++++++ U_glx_Additional_paranoia_in___glXGetAnswerBuffer___GLX_GET_ANSWER_BUFFER.patch ++++++
Subject: glx: Additional paranoia in __glXGetAnswerBuffer / __GLX_GET_ANSWER_BUFFER (v2)
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/indirect_util.c | 7 ++++++-
glx/unpack.h | 3 ++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/glx/indirect_util.c b/glx/indirect_util.c
index 926e57c..de81491 100644
--- a/glx/indirect_util.c
+++ b/glx/indirect_util.c
@@ -76,9 +76,14 @@ __glXGetAnswerBuffer(__GLXclientState * cl, size_t required_size,
const unsigned mask = alignment - 1;
if (local_size < required_size) {
- const size_t worst_case_size = required_size + alignment;
+ size_t worst_case_size;
intptr_t temp_buf;
+ if (required_size < SIZE_MAX - alignment)
+ worst_case_size = required_size + alignment;
+ else
+ return NULL;
+
if (cl->returnBufSize < worst_case_size) {
void *temp = realloc(cl->returnBuf, worst_case_size);
diff --git a/glx/unpack.h b/glx/unpack.h
index 52fba74..2b1ebcf 100644
--- a/glx/unpack.h
+++ b/glx/unpack.h
@@ -83,7 +83,8 @@ extern xGLXSingleReply __glXReply;
** pointer.
*/
#define __GLX_GET_ANSWER_BUFFER(res,cl,size,align) \
- if ((size) > sizeof(answerBuffer)) { \
+ if (size < 0) return BadLength; \
+ else if ((size) > sizeof(answerBuffer)) { \
int bump; \
if ((cl)->returnBufSize < (size)+(align)) { \
(cl)->returnBuf = (GLbyte*)realloc((cl)->returnBuf, \
--
1.7.9.2
++++++ U_glx_Be_more_paranoid_about_variable_length_requests.patch ++++++
Subject: glx: Be more paranoid about variable-length requests
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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
data we wanted to reject to the renderer.
Reviewed-by: Keith Packard <keithp(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/glxcmds.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 8d3fa9f..0521b58 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -2060,7 +2060,7 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
extra = (*entry.varsize) (pc + __GLX_RENDER_HDR_SIZE,
client->swapped);
if (extra < 0) {
- extra = 0;
+ return BadLength;
}
if (cmdlen != __GLX_PAD(entry.bytes + extra)) {
return BadLength;
@@ -2177,7 +2177,7 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
extra = (*entry.varsize) (pc + __GLX_RENDER_LARGE_HDR_SIZE,
client->swapped);
if (extra < 0) {
- extra = 0;
+ return BadLength;
}
/* large command's header is 4 bytes longer, so add 4 */
if (cmdlen != __GLX_PAD(entry.bytes + 4 + extra)) {
--
1.7.9.2
++++++ U_glx_Be_more_strict_about_rejecting_invalid_image_sizes.patch ++++++
Subject: glx: Be more strict about rejecting invalid image sizes
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/singlepix.c | 16 ++++++++--------
glx/singlepixswap.c | 16 ++++++++--------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/glx/singlepix.c b/glx/singlepix.c
index 506fdaa..8b6c261 100644
--- a/glx/singlepix.c
+++ b/glx/singlepix.c
@@ -65,7 +65,7 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc)
lsbFirst = *(GLboolean *) (pc + 25);
compsize = __glReadPixels_size(format, type, width, height);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst);
@@ -124,7 +124,7 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc)
compsize =
__glGetTexImage_size(target, level, format, type, width, height, depth);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -218,9 +218,9 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
if (compsize2 < 0)
- compsize2 = 0;
+ return BadLength;
compsize = __GLX_PAD(compsize);
compsize2 = __GLX_PAD(compsize2);
@@ -296,7 +296,7 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, height, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -365,7 +365,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -426,7 +426,7 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize = __glGetTexImage_size(target, 1, format, type, 2, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -491,7 +491,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
diff --git a/glx/singlepixswap.c b/glx/singlepixswap.c
index 8469101..8dc304f 100644
--- a/glx/singlepixswap.c
+++ b/glx/singlepixswap.c
@@ -75,7 +75,7 @@ __glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc)
lsbFirst = *(GLboolean *) (pc + 25);
compsize = __glReadPixels_size(format, type, width, height);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
glPixelStorei(GL_PACK_LSB_FIRST, lsbFirst);
@@ -144,7 +144,7 @@ __glXDispSwap_GetTexImage(__GLXclientState * cl, GLbyte * pc)
compsize =
__glGetTexImage_size(target, level, format, type, width, height, depth);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -252,9 +252,9 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
if (compsize2 < 0)
- compsize2 = 0;
+ return BadLength;
compsize = __GLX_PAD(compsize);
compsize2 = __GLX_PAD(compsize2);
@@ -338,7 +338,7 @@ GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, height, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -415,7 +415,7 @@ GetHistogram(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -483,7 +483,7 @@ GetMinmax(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize = __glGetTexImage_size(target, 1, format, type, 2, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
@@ -554,7 +554,7 @@ GetColorTable(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
*/
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
if (compsize < 0)
- compsize = 0;
+ return BadLength;
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
__GLX_GET_ANSWER_BUFFER(answer, cl, compsize, 1);
--
1.7.9.2
++++++ U_glx_Fix_image_size_computation_for_EXT_texture_integer.patch ++++++
Subject: glx: Fix image size computation for EXT_texture_integer
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/rensize.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/glx/rensize.c b/glx/rensize.c
index ba22d10..9ff73c7 100644
--- a/glx/rensize.c
+++ b/glx/rensize.c
@@ -224,6 +224,11 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
case GL_ALPHA:
case GL_LUMINANCE:
case GL_INTENSITY:
+ case GL_RED_INTEGER_EXT:
+ case GL_GREEN_INTEGER_EXT:
+ case GL_BLUE_INTEGER_EXT:
+ case GL_ALPHA_INTEGER_EXT:
+ case GL_LUMINANCE_INTEGER_EXT:
elementsPerGroup = 1;
break;
case GL_422_EXT:
@@ -234,14 +239,19 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
case GL_DEPTH_STENCIL_MESA:
case GL_YCBCR_MESA:
case GL_LUMINANCE_ALPHA:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
elementsPerGroup = 2;
break;
case GL_RGB:
case GL_BGR:
+ case GL_RGB_INTEGER_EXT:
+ case GL_BGR_INTEGER_EXT:
elementsPerGroup = 3;
break;
case GL_RGBA:
case GL_BGRA:
+ case GL_RGBA_INTEGER_EXT:
+ case GL_BGRA_INTEGER_EXT:
case GL_ABGR_EXT:
elementsPerGroup = 4;
break;
--
1.7.9.2
++++++ U_glx_Fix_mask_truncation_in___glXGetAnswerBuffer.patch ++++++
Subject: glx: Fix mask truncation in __glXGetAnswerBuffer
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)nvidia.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/indirect_util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/glx/indirect_util.c b/glx/indirect_util.c
index de81491..9ba2815 100644
--- a/glx/indirect_util.c
+++ b/glx/indirect_util.c
@@ -73,7 +73,7 @@ __glXGetAnswerBuffer(__GLXclientState * cl, size_t required_size,
void *local_buffer, size_t local_size, unsigned alignment)
{
void *buffer = local_buffer;
- const unsigned mask = alignment - 1;
+ const intptr_t mask = alignment - 1;
if (local_size < required_size) {
size_t worst_case_size;
--
1.7.9.2
++++++ U_glx_Integer_overflow_protection_for_non_generated_render_requests.patch ++++++
Subject: glx: Integer overflow protection for non-generated render requests (v3)
References: bnc#907268, CVE-2014-8093
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)keithp.com>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/rensize.c | 77 ++++++++++++++++++++++++++++++---------------------------
1 file changed, 41 insertions(+), 36 deletions(-)
diff --git a/glx/rensize.c b/glx/rensize.c
index 9ff73c7..d46334a 100644
--- a/glx/rensize.c
+++ b/glx/rensize.c
@@ -43,19 +43,11 @@
(((a & 0xff000000U)>>24) | ((a & 0xff0000U)>>8) | \
((a & 0xff00U)<<8) | ((a & 0xffU)<<24))
-static int
-Map1Size(GLint k, GLint order)
-{
- if (order <= 0 || k < 0)
- return -1;
- return k * order;
-}
-
int
__glXMap1dReqSize(const GLbyte * pc, Bool swap)
{
GLenum target;
- GLint order, k;
+ GLint order;
target = *(GLenum *) (pc + 16);
order = *(GLint *) (pc + 20);
@@ -63,15 +55,16 @@ __glXMap1dReqSize(const GLbyte * pc, Bool swap)
target = SWAPL(target);
order = SWAPL(order);
}
- k = __glMap1d_size(target);
- return 8 * Map1Size(k, order);
+ if (order < 1)
+ return -1;
+ return safe_mul(8, safe_mul(__glMap1d_size(target), order));
}
int
__glXMap1fReqSize(const GLbyte * pc, Bool swap)
{
GLenum target;
- GLint order, k;
+ GLint order;
target = *(GLenum *) (pc + 0);
order = *(GLint *) (pc + 12);
@@ -79,23 +72,24 @@ __glXMap1fReqSize(const GLbyte * pc, Bool swap)
target = SWAPL(target);
order = SWAPL(order);
}
- k = __glMap1f_size(target);
- return 4 * Map1Size(k, order);
+ if (order < 1)
+ return -1;
+ return safe_mul(4, safe_mul(__glMap1f_size(target), order));
}
static int
Map2Size(int k, int majorOrder, int minorOrder)
{
- if (majorOrder <= 0 || minorOrder <= 0 || k < 0)
+ if (majorOrder < 1 || minorOrder < 1)
return -1;
- return k * majorOrder * minorOrder;
+ return safe_mul(k, safe_mul(majorOrder, minorOrder));
}
int
__glXMap2dReqSize(const GLbyte * pc, Bool swap)
{
GLenum target;
- GLint uorder, vorder, k;
+ GLint uorder, vorder;
target = *(GLenum *) (pc + 32);
uorder = *(GLint *) (pc + 36);
@@ -105,15 +99,14 @@ __glXMap2dReqSize(const GLbyte * pc, Bool swap)
uorder = SWAPL(uorder);
vorder = SWAPL(vorder);
}
- k = __glMap2d_size(target);
- return 8 * Map2Size(k, uorder, vorder);
+ return safe_mul(8, Map2Size(__glMap2d_size(target), uorder, vorder));
}
int
__glXMap2fReqSize(const GLbyte * pc, Bool swap)
{
GLenum target;
- GLint uorder, vorder, k;
+ GLint uorder, vorder;
target = *(GLenum *) (pc + 0);
uorder = *(GLint *) (pc + 12);
@@ -123,8 +116,7 @@ __glXMap2fReqSize(const GLbyte * pc, Bool swap)
uorder = SWAPL(uorder);
vorder = SWAPL(vorder);
}
- k = __glMap2f_size(target);
- return 4 * Map2Size(k, uorder, vorder);
+ return safe_mul(4, Map2Size(__glMap2f_size(target), uorder, vorder));
}
/**
@@ -175,14 +167,16 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
GLint bytesPerElement, elementsPerGroup, groupsPerRow;
GLint groupSize, rowSize, padding, imageSize;
+ if (w == 0 || h == 0 || d == 0)
+ return 0;
+
if (w < 0 || h < 0 || d < 0 ||
(type == GL_BITMAP &&
(format != GL_COLOR_INDEX && format != GL_STENCIL_INDEX))) {
return -1;
}
- if (w == 0 || h == 0 || d == 0)
- return 0;
+ /* proxy targets have no data */
switch (target) {
case GL_PROXY_TEXTURE_1D:
case GL_PROXY_TEXTURE_2D:
@@ -199,6 +193,12 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
return 0;
}
+ /* real data has to have real sizes */
+ if (imageHeight < 0 || rowLength < 0 || skipImages < 0 || skipRows < 0)
+ return -1;
+ if (alignment != 1 && alignment != 2 && alignment != 4 && alignment != 8)
+ return -1;
+
if (type == GL_BITMAP) {
if (rowLength > 0) {
groupsPerRow = rowLength;
@@ -207,11 +207,14 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
groupsPerRow = w;
}
rowSize = bits_to_bytes(groupsPerRow);
+ if (rowSize < 0)
+ return -1;
padding = (rowSize % alignment);
if (padding) {
rowSize += alignment - padding;
}
- return ((h + skipRows) * rowSize);
+
+ return safe_mul(safe_add(h, skipRows), rowSize);
}
else {
switch (format) {
@@ -303,6 +306,7 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
default:
return -1;
}
+ /* known safe by the switches above, not checked */
groupSize = bytesPerElement * elementsPerGroup;
if (rowLength > 0) {
groupsPerRow = rowLength;
@@ -310,18 +314,21 @@ __glXImageSize(GLenum format, GLenum type, GLenum target,
else {
groupsPerRow = w;
}
- rowSize = groupsPerRow * groupSize;
+
+ if ((rowSize = safe_mul(groupsPerRow, groupSize)) < 0)
+ return -1;
padding = (rowSize % alignment);
if (padding) {
rowSize += alignment - padding;
}
- if (imageHeight > 0) {
- imageSize = (imageHeight + skipRows) * rowSize;
- }
- else {
- imageSize = (h + skipRows) * rowSize;
- }
- return ((d + skipImages) * imageSize);
+
+ if (imageHeight > 0)
+ h = imageHeight;
+ h = safe_add(h, skipRows);
+
+ imageSize = safe_mul(h, rowSize);
+
+ return safe_mul(safe_add(d, skipImages), imageSize);
}
}
@@ -445,9 +452,7 @@ __glXSeparableFilter2DReqSize(const GLbyte * pc, Bool swap)
/* XXX Should rowLength be used for either or both image? */
image1size = __glXImageSize(format, type, 0, w, 1, 1,
0, rowLength, 0, 0, alignment);
- image1size = __GLX_PAD(image1size);
image2size = __glXImageSize(format, type, 0, h, 1, 1,
0, rowLength, 0, 0, alignment);
- return image1size + image2size;
-
+ return safe_add(safe_pad(image1size), image2size);
}
--
1.7.9.2
++++++ U_glx_Length_checking_for_GLXRender_requests.patch ++++++
Subject: glx: Length checking for GLXRender requests (v2)
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
v2:
Remove can't-happen comparison for cmdlen < 0 (Michal Srb)
Reviewed-by: Adam Jackson <ajax(a)redhat.com>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Julien Cristau <jcristau(a)debian.org>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/glxcmds.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 0521b58..4c2e616 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -2023,7 +2023,7 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
left = (req->length << 2) - sz_xGLXRenderReq;
while (left > 0) {
__GLXrenderSizeData entry;
- int extra;
+ int extra = 0;
__GLXdispatchRenderProcPtr proc;
int err;
@@ -2042,6 +2042,9 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
cmdlen = hdr->length;
opcode = hdr->opcode;
+ if (left < cmdlen)
+ return BadLength;
+
/*
** Check for core opcodes and grab entry data.
*/
@@ -2055,6 +2058,10 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
return __glXError(GLXBadRenderRequest);
}
+ if (cmdlen < entry.bytes) {
+ return BadLength;
+ }
+
if (entry.varsize) {
/* variable size command */
extra = (*entry.varsize) (pc + __GLX_RENDER_HDR_SIZE,
@@ -2062,17 +2069,9 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
if (extra < 0) {
return BadLength;
}
- if (cmdlen != __GLX_PAD(entry.bytes + extra)) {
- return BadLength;
- }
}
- else {
- /* constant size command */
- if (cmdlen != __GLX_PAD(entry.bytes)) {
- return BadLength;
- }
- }
- if (left < cmdlen) {
+
+ if (cmdlen != safe_pad(safe_add(entry.bytes, extra))) {
return BadLength;
}
--
1.7.9.2
++++++ U_glx_Length_checking_for_RenderLarge_requests.patch ++++++
Subject: glx: Length checking for RenderLarge requests (v2)
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/glxcmds.c | 57 ++++++++++++++++++++++++++++++++++-----------------------
1 file changed, 34 insertions(+), 23 deletions(-)
diff --git a/glx/glxcmds.c b/glx/glxcmds.c
index 4c2e616..0e7efcc 100644
--- a/glx/glxcmds.c
+++ b/glx/glxcmds.c
@@ -2107,6 +2107,8 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_AT_LEAST_SIZE(xGLXRenderLargeReq);
+
req = (xGLXRenderLargeReq *) pc;
if (client->swapped) {
__GLX_SWAP_SHORT(&req->length);
@@ -2122,12 +2124,14 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
__glXResetLargeCommandStatus(cl);
return error;
}
+ if (safe_pad(req->dataBytes) < 0)
+ return BadLength;
dataBytes = req->dataBytes;
/*
** Check the request length.
*/
- if ((req->length << 2) != __GLX_PAD(dataBytes) + sz_xGLXRenderLargeReq) {
+ if ((req->length << 2) != safe_pad(dataBytes) + sz_xGLXRenderLargeReq) {
client->errorValue = req->length;
/* Reset in case this isn't 1st request. */
__glXResetLargeCommandStatus(cl);
@@ -2137,7 +2141,7 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
if (cl->largeCmdRequestsSoFar == 0) {
__GLXrenderSizeData entry;
- int extra;
+ int extra = 0;
size_t cmdlen;
int err;
@@ -2150,13 +2154,17 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
return __glXError(GLXBadLargeRequest);
}
+ if (dataBytes < __GLX_RENDER_LARGE_HDR_SIZE)
+ return BadLength;
+
hdr = (__GLXrenderLargeHeader *) pc;
if (client->swapped) {
__GLX_SWAP_INT(&hdr->length);
__GLX_SWAP_INT(&hdr->opcode);
}
- cmdlen = hdr->length;
opcode = hdr->opcode;
+ if ((cmdlen = safe_pad(hdr->length)) < 0)
+ return BadLength;
/*
** Check for core opcodes and grab entry data.
@@ -2178,17 +2186,13 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
if (extra < 0) {
return BadLength;
}
- /* large command's header is 4 bytes longer, so add 4 */
- if (cmdlen != __GLX_PAD(entry.bytes + 4 + extra)) {
- return BadLength;
- }
}
- else {
- /* constant size command */
- if (cmdlen != __GLX_PAD(entry.bytes + 4)) {
- return BadLength;
- }
+
+ /* the +4 is safe because we know entry.bytes is small */
+ if (cmdlen != safe_pad(safe_add(entry.bytes + 4, extra))) {
+ return BadLength;
}
+
/*
** Make enough space in the buffer, then copy the entire request.
*/
@@ -2215,6 +2219,7 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
** We are receiving subsequent (i.e. not the first) requests of a
** multi request command.
*/
+ int bytesSoFar; /* including this packet */
/*
** Check the request number and the total request count.
@@ -2233,11 +2238,18 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
/*
** Check that we didn't get too much data.
*/
- if ((cl->largeCmdBytesSoFar + dataBytes) > cl->largeCmdBytesTotal) {
+ if ((bytesSoFar = safe_add(cl->largeCmdBytesSoFar, dataBytes)) < 0) {
+ client->errorValue = dataBytes;
+ __glXResetLargeCommandStatus(cl);
+ return __glXError(GLXBadLargeRequest);
+ }
+
+ if (bytesSoFar > cl->largeCmdBytesTotal) {
client->errorValue = dataBytes;
__glXResetLargeCommandStatus(cl);
return __glXError(GLXBadLargeRequest);
}
+
memcpy(cl->largeCmdBuf + cl->largeCmdBytesSoFar, pc, dataBytes);
cl->largeCmdBytesSoFar += dataBytes;
cl->largeCmdRequestsSoFar++;
@@ -2241,17 +2253,16 @@ __glXDisp_RenderLarge(__GLXclientState *
** This is the last request; it must have enough bytes to complete
** the command.
*/
- /* NOTE: the two pad macros have been added below; they are needed
- ** because the client library pads the total byte count, but not
- ** the per-request byte counts. The Protocol Encoding says the
- ** total byte count should not be padded, so a proposal will be
- ** made to the ARB to relax the padding constraint on the total
- ** byte count, thus preserving backward compatibility. Meanwhile,
- ** the padding done below fixes a bug that did not allow
- ** large commands of odd sizes to be accepted by the server.
+ /* NOTE: the pad macro below is needed because the client library
+ ** pads the total byte count, but not the per-request byte counts.
+ ** The Protocol Encoding says the total byte count should not be
+ ** padded, so a proposal will be made to the ARB to relax the
+ ** padding constraint on the total byte count, thus preserving
+ ** backward compatibility. Meanwhile, the padding done below
+ ** fixes a bug that did not allow large commands of odd sizes to
+ ** be accepted by the server.
*/
- if (__GLX_PAD(cl->largeCmdBytesSoFar) !=
- __GLX_PAD(cl->largeCmdBytesTotal)) {
+ if (safe_pad(cl->largeCmdBytesSoFar) != cl->largeCmdBytesTotal) {
client->errorValue = dataBytes;
__glXResetLargeCommandStatus(cl);
return __glXError(GLXBadLargeRequest);
++++++ U_glx_Length_checking_for_non_generated_single_request.patch ++++++
Subject: glx: Length checking for non-generated single requests (v2)
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
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(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Julien Cristau <jcristau(a)debian.org>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/indirect_texture_compression.c | 4 ++++
glx/single2.c | 23 +++++++++++++++----
glx/single2swap.c | 19 ++++++++++++----
glx/singlepix.c | 44 ++++++++++++++++++++++++------------
glx/singlepixswap.c | 34 ++++++++++++++++++++++++----
5 files changed, 95 insertions(+), 29 deletions(-)
diff --git a/glx/indirect_texture_compression.c b/glx/indirect_texture_compression.c
index cda7656..1ebf7f3 100644
--- a/glx/indirect_texture_compression.c
+++ b/glx/indirect_texture_compression.c
@@ -43,6 +43,8 @@ __glXDisp_GetCompressedTexImage(struct __GLXclientStateRec *cl, GLbyte * pc)
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 8);
+
pc += __GLX_SINGLE_HDR_SIZE;
if (cx != NULL) {
const GLenum target = *(GLenum *) (pc + 0);
@@ -87,6 +89,8 @@ __glXDispSwap_GetCompressedTexImage(struct __GLXclientStateRec *cl, GLbyte * pc)
__glXForceCurrent(cl, bswap_32(req->contextTag), &error);
ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 8);
+
pc += __GLX_SINGLE_HDR_SIZE;
if (cx != NULL) {
const GLenum target = (GLenum) bswap_32(*(int *) (pc + 0));
diff --git a/glx/single2.c b/glx/single2.c
index 53b661d..a6ea614 100644
--- a/glx/single2.c
+++ b/glx/single2.c
@@ -45,11 +45,14 @@
int
__glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
GLsizei size;
GLenum type;
__GLXcontext *cx;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 8);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -76,10 +79,13 @@ __glXDisp_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_SelectBuffer(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
GLsizei size;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -104,7 +110,7 @@ __glXDisp_SelectBuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc)
{
- ClientPtr client;
+ ClientPtr client = cl->client;
xGLXRenderModeReply reply;
__GLXcontext *cx;
GLint nitems = 0, retBytes = 0, retval, newModeCheck;
@@ -112,6 +118,8 @@ __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc)
GLenum newMode;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -188,7 +196,6 @@ __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc)
** selection array, as per the API for glRenderMode itself.
*/
noChangeAllowed:;
- client = cl->client;
reply = (xGLXRenderModeReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
@@ -207,9 +214,12 @@ __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_Flush(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
int error;
+ REQUEST_SIZE_MATCH(xGLXSingleReq);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -223,10 +233,12 @@ __glXDisp_Flush(__GLXclientState * cl, GLbyte * pc)
int
__glXDisp_Finish(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
- ClientPtr client;
int error;
+ REQUEST_SIZE_MATCH(xGLXSingleReq);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -317,7 +329,7 @@ __glXcombine_strings(const char *cext_string, const char *sext_string)
int
DoGetString(__GLXclientState * cl, GLbyte * pc, GLboolean need_swap)
{
- ClientPtr client;
+ ClientPtr client = cl->client;
__GLXcontext *cx;
GLenum name;
const char *string;
@@ -327,6 +339,8 @@ DoGetString(__GLXclientState * cl, GLbyte * pc, GLboolean need_swap)
char *buf = NULL, *buf1 = NULL;
GLint length = 0;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
/* If the client has the opposite byte order, swap the contextTag and
* the name.
*/
@@ -343,7 +357,6 @@ DoGetString(__GLXclientState * cl, GLbyte * pc, GLboolean need_swap)
pc += __GLX_SINGLE_HDR_SIZE;
name = *(GLenum *) (pc + 0);
string = (const char *) glGetString(name);
- client = cl->client;
if (string == NULL)
string = "";
diff --git a/glx/single2swap.c b/glx/single2swap.c
index 764501f..5349069 100644
--- a/glx/single2swap.c
+++ b/glx/single2swap.c
@@ -41,6 +41,7 @@
int
__glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
GLsizei size;
GLenum type;
@@ -48,6 +49,8 @@ __glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
__GLXcontext *cx;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 8);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -77,12 +80,15 @@ __glXDispSwap_FeedbackBuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_SelectBuffer(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
GLsizei size;
__GLX_DECLARE_SWAP_VARIABLES;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -109,7 +115,7 @@ __glXDispSwap_SelectBuffer(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc)
{
- ClientPtr client;
+ ClientPtr client = cl->client;
__GLXcontext *cx;
xGLXRenderModeReply reply;
GLint nitems = 0, retBytes = 0, retval, newModeCheck;
@@ -120,6 +126,8 @@ __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc)
__GLX_DECLARE_SWAP_ARRAY_VARIABLES;
int error;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -200,7 +208,6 @@ __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc)
** selection array, as per the API for glRenderMode itself.
*/
noChangeAllowed:;
- client = cl->client;
reply = (xGLXRenderModeReply) {
.type = X_Reply,
.sequenceNumber = client->sequence,
@@ -224,11 +231,14 @@ __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_Flush(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
int error;
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_SIZE_MATCH(xGLXSingleReq);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -243,12 +253,14 @@ __glXDispSwap_Flush(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_Finish(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
__GLXcontext *cx;
- ClientPtr client;
int error;
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_SIZE_MATCH(xGLXSingleReq);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -260,7 +272,6 @@ __glXDispSwap_Finish(__GLXclientState * cl, GLbyte * pc)
cx->hasUnflushedCommands = GL_FALSE;
/* Send empty reply packet to indicate finish is finished */
- client = cl->client;
__GLX_BEGIN_REPLY(0);
__GLX_PUT_RETVAL(0);
__GLX_SWAP_REPLY_HEADER();
diff --git a/glx/singlepix.c b/glx/singlepix.c
index 8b6c261..54ed7fd 100644
--- a/glx/singlepix.c
+++ b/glx/singlepix.c
@@ -51,6 +51,8 @@ __glXDisp_ReadPixels(__GLXclientState * cl, GLbyte * pc)
int error;
char *answer, answerBuffer[200];
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 28);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -100,6 +102,8 @@ __glXDisp_GetTexImage(__GLXclientState * cl, GLbyte * pc)
char *answer, answerBuffer[200];
GLint width = 0, height = 0, depth = 1;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 20);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -157,6 +161,8 @@ __glXDisp_GetPolygonStipple(__GLXclientState * cl, GLbyte * pc)
GLubyte answerBuffer[200];
char *answer;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
return error;
@@ -217,15 +223,13 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1);
- if (compsize < 0)
+ if ((compsize = safe_pad(compsize)) < 0)
return BadLength;
- if (compsize2 < 0)
+ if ((compsize2 = safe_pad(compsize2)) < 0)
return BadLength;
- compsize = __GLX_PAD(compsize);
- compsize2 = __GLX_PAD(compsize2);
glPixelStorei(GL_PACK_SWAP_BYTES, swapBytes);
- __GLX_GET_ANSWER_BUFFER(answer, cl, compsize + compsize2, 1);
+ __GLX_GET_ANSWER_BUFFER(answer, cl, safe_add(compsize, compsize2), 1);
__glXClearErrorOccured();
glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
*(GLenum *) (pc + 8), answer, answer + compsize, NULL);
@@ -249,7 +253,8 @@ int
__glXDisp_GetSeparableFilter(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetSeparableFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -257,7 +262,8 @@ int
__glXDisp_GetSeparableFilterEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetSeparableFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -323,7 +329,8 @@ int
__glXDisp_GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetConvolutionFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -331,7 +338,8 @@ int
__glXDisp_GetConvolutionFilterEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetConvolutionFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -390,7 +398,8 @@ int
__glXDisp_GetHistogram(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetHistogram(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -398,7 +407,8 @@ int
__glXDisp_GetHistogramEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetHistogram(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -450,7 +460,8 @@ int
__glXDisp_GetMinmax(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetMinmax(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -458,7 +469,8 @@ int
__glXDisp_GetMinmaxEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetMinmax(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -517,7 +529,8 @@ int
__glXDisp_GetColorTable(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetColorTable(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -525,6 +538,7 @@ int
__glXDisp_GetColorTableSGI(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
-
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetColorTable(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
diff --git a/glx/singlepixswap.c b/glx/singlepixswap.c
index 8dc304f..9eff592 100644
--- a/glx/singlepixswap.c
+++ b/glx/singlepixswap.c
@@ -53,6 +53,8 @@ __glXDispSwap_ReadPixels(__GLXclientState * cl, GLbyte * pc)
int error;
char *answer, answerBuffer[200];
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 28);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -114,6 +116,8 @@ __glXDispSwap_GetTexImage(__GLXclientState * cl, GLbyte * pc)
char *answer, answerBuffer[200];
GLint width = 0, height = 0, depth = 1;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 20);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -184,6 +188,8 @@ __glXDispSwap_GetPolygonStipple(__GLXclientState * cl, GLbyte * pc)
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 4);
+
__GLX_SWAP_INT(&((xGLXSingleReq *) pc)->contextTag);
cx = __glXForceCurrent(cl, __GLX_GET_SINGLE_CONTEXT_TAG(pc), &error);
if (!cx) {
@@ -251,15 +257,13 @@ GetSeparableFilter(__GLXclientState * cl, GLbyte * pc, GLXContextTag tag)
compsize = __glGetTexImage_size(target, 1, format, type, width, 1, 1);
compsize2 = __glGetTexImage_size(target, 1, format, type, height, 1, 1);
- if (compsize < 0)
+ if ((compsize = safe_pad(compsize)) < 0)
return BadLength;
- if (compsize2 < 0)
+ if ((compsize2 = safe_pad(compsize2)) < 0)
return BadLength;
- compsize = __GLX_PAD(compsize);
- compsize2 = __GLX_PAD(compsize2);
glPixelStorei(GL_PACK_SWAP_BYTES, !swapBytes);
- __GLX_GET_ANSWER_BUFFER(answer, cl, compsize + compsize2, 1);
+ __GLX_GET_ANSWER_BUFFER(answer, cl, safe_add(compsize, compsize2), 1);
__glXClearErrorOccured();
glGetSeparableFilter(*(GLenum *) (pc + 0), *(GLenum *) (pc + 4),
*(GLenum *) (pc + 8), answer, answer + compsize, NULL);
@@ -285,7 +289,9 @@ int
__glXDispSwap_GetSeparableFilter(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetSeparableFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -293,7 +299,9 @@ int
__glXDispSwap_GetSeparableFilterEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetSeparableFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -367,7 +375,9 @@ int
__glXDispSwap_GetConvolutionFilter(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetConvolutionFilter(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -375,7 +385,9 @@ int
__glXDispSwap_GetConvolutionFilterEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetConvolutionFilter(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -441,7 +453,9 @@ int
__glXDispSwap_GetHistogram(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetHistogram(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -449,7 +463,9 @@ int
__glXDispSwap_GetHistogramEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetHistogram(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -507,7 +523,9 @@ int
__glXDispSwap_GetMinmax(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetMinmax(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -515,7 +533,9 @@ int
__glXDispSwap_GetMinmaxEXT(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetMinmax(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
@@ -581,7 +601,9 @@ int
__glXDispSwap_GetColorTable(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_SINGLE_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXSingleReq, 16);
return GetColorTable(cl, pc + __GLX_SINGLE_HDR_SIZE, tag);
}
@@ -589,6 +611,8 @@ int
__glXDispSwap_GetColorTableSGI(__GLXclientState * cl, GLbyte * pc)
{
const GLXContextTag tag = __GLX_GET_VENDPRIV_CONTEXT_TAG(pc);
+ ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 16);
return GetColorTable(cl, pc + __GLX_VENDPRIV_HDR_SIZE, tag);
}
--
1.7.9.2
++++++ U_glx_Length_checking_for_non_generated_vendor_private_requests.patch ++++++
Subject: glx: Length-checking for non-generated vendor private requests
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Keith Packard <keithp(a)keithp.com>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/indirect_program.c | 2 ++
glx/swap_interval.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/glx/indirect_program.c b/glx/indirect_program.c
index cda139e..5caee7b 100644
--- a/glx/indirect_program.c
+++ b/glx/indirect_program.c
@@ -56,6 +56,8 @@ DoGetProgramString(struct __GLXclientStateRec *cl, GLbyte * pc,
__GLXcontext *const cx = __glXForceCurrent(cl, req->contextTag, &error);
ClientPtr client = cl->client;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateWithReplyReq, 8);
+
pc += __GLX_VENDPRIV_HDR_SIZE;
if (cx != NULL) {
GLenum target;
diff --git a/glx/swap_interval.c b/glx/swap_interval.c
index 17bc992..2320550 100644
--- a/glx/swap_interval.c
+++ b/glx/swap_interval.c
@@ -46,6 +46,8 @@ DoSwapInterval(__GLXclientState * cl, GLbyte * pc, int do_swap)
__GLXcontext *cx;
GLint interval;
+ REQUEST_FIXED_SIZE(xGLXVendorPrivateReq, 4);
+
cx = __glXLookupContextByTag(cl, tag);
if ((cx == NULL) || (cx->pGlxScreen == NULL)) {
--
1.7.9.2
++++++ U_glx_Pass_remaining_request_length_into_varsize.patch ++++++
++++ 915 lines (skipped)
++++++ U_glx_Request_length_checks_for_SetClientInfoARB.patch ++++++
Subject: glx: Request length checks for SetClientInfoARB
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Keith Packard <keithp(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/clientinfo.c | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/glx/clientinfo.c b/glx/clientinfo.c
index 4aaa4c9..c5fef30 100644
--- a/glx/clientinfo.c
+++ b/glx/clientinfo.c
@@ -33,18 +33,21 @@ static int
set_client_info(__GLXclientState * cl, xGLXSetClientInfoARBReq * req,
unsigned bytes_per_version)
{
+ ClientPtr client = cl->client;
char *gl_extensions;
char *glx_extensions;
+ REQUEST_AT_LEAST_SIZE(xGLXSetClientInfoARBReq);
+
/* Verify that the size of the packet matches the size inferred from the
* sizes specified for the various fields.
*/
- const unsigned expected_size = sz_xGLXSetClientInfoARBReq
- + (req->numVersions * bytes_per_version)
- + __GLX_PAD(req->numGLExtensionBytes)
- + __GLX_PAD(req->numGLXExtensionBytes);
+ int size = sz_xGLXSetClientInfoARBReq;
+ size = safe_add(size, safe_mul(req->numVersions, bytes_per_version));
+ size = safe_add(size, safe_pad(req->numGLExtensionBytes));
+ size = safe_add(size, safe_pad(req->numGLXExtensionBytes));
- if (req->length != (expected_size / 4))
+ if (size < 0 || req->length != (size / 4))
return BadLength;
/* Verify that the actual length of the GL extension string matches what's
@@ -80,8 +83,11 @@ __glXDisp_SetClientInfoARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_SetClientInfoARB(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
xGLXSetClientInfoARBReq *req = (xGLXSetClientInfoARBReq *) pc;
+ REQUEST_AT_LEAST_SIZE(xGLXSetClientInfoARBReq);
+
req->length = bswap_16(req->length);
req->numVersions = bswap_32(req->numVersions);
req->numGLExtensionBytes = bswap_32(req->numGLExtensionBytes);
@@ -99,8 +105,11 @@ __glXDisp_SetClientInfo2ARB(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_SetClientInfo2ARB(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
xGLXSetClientInfoARBReq *req = (xGLXSetClientInfoARBReq *) pc;
+ REQUEST_AT_LEAST_SIZE(xGLXSetClientInfoARBReq);
+
req->length = bswap_16(req->length);
req->numVersions = bswap_32(req->numVersions);
req->numGLExtensionBytes = bswap_32(req->numGLExtensionBytes);
--
1.7.9.2
++++++ U_glx_Top_level_length_checking_for_swapped_VendorPrivate_requests.patch ++++++
Subject: glx: Top-level length checking for swapped VendorPrivate requests
References: bnc#907268, CVE-2014-8098
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Keith Packard <keithp(a)keithp.com>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Michal Srb <msrb(a)suse.com>
Reviewed-by: Andy Ritger <aritger(a)nvidia.com>
Signed-off-by: Adam Jackson <ajax(a)redhat.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
glx/glxcmdsswap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/glx/glxcmdsswap.c b/glx/glxcmdsswap.c
index 5d179f3..9ec1222 100644
--- a/glx/glxcmdsswap.c
+++ b/glx/glxcmdsswap.c
@@ -958,11 +958,13 @@ __glXDispSwap_RenderLarge(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_VendorPrivate(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
xGLXVendorPrivateReq *req;
GLint vendorcode;
__GLXdispatchVendorPrivProcPtr proc;
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_AT_LEAST_SIZE(xGLXVendorPrivateReq);
req = (xGLXVendorPrivateReq *) pc;
__GLX_SWAP_SHORT(&req->length);
@@ -985,11 +987,13 @@ __glXDispSwap_VendorPrivate(__GLXclientState * cl, GLbyte * pc)
int
__glXDispSwap_VendorPrivateWithReply(__GLXclientState * cl, GLbyte * pc)
{
+ ClientPtr client = cl->client;
xGLXVendorPrivateWithReplyReq *req;
GLint vendorcode;
__GLXdispatchVendorPrivProcPtr proc;
__GLX_DECLARE_SWAP_VARIABLES;
+ REQUEST_AT_LEAST_SIZE(xGLXVendorPrivateWithReplyReq);
req = (xGLXVendorPrivateWithReplyReq *) pc;
__GLX_SWAP_SHORT(&req->length);
--
1.7.9.2
++++++ U_include-vencrypt-only-if-any-subtype-present.patch ++++++
Index: common/rfb/Security.cxx
===================================================================
--- common/rfb/Security.cxx (revision 5186)
+++ common/rfb/Security.cxx (working copy)
@@ -71,10 +71,15 @@
list<rdr::U8> result;
list<U32>::iterator i;
- result.push_back(secTypeVeNCrypt);
+ bool VeNCryptPresent = false;
for (i = enabledSecTypes.begin(); i != enabledSecTypes.end(); i++)
- if (*i < 0x100)
+ if (*i < 0x100) {
result.push_back(*i);
+ } else {
+ if(!VeNCryptPresent)
+ result.push_back(secTypeVeNCrypt);
+ VeNCryptPresent = true;
+ }
return result;
}
++++++ U_present_unvalidated_lengths_in_Present_extension_procs.patch ++++++
Subject: present: unvalidated lengths in Present extension procs
References: bnc#907268, CVE-2014-8103
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
Reviewed-by: Julien Cristau <jcristau(a)debian.org>
---
present/present_request.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/present/present_request.c b/present/present_request.c
index 835890d..7c53e72 100644
--- a/present/present_request.c
+++ b/present/present_request.c
@@ -210,6 +210,7 @@ proc_present_query_capabilities (ClientPtr client)
RRCrtcPtr crtc = NULL;
int r;
+ REQUEST_SIZE_MATCH(xPresentQueryCapabilitiesReq);
r = dixLookupWindow(&window, stuff->target, client, DixGetAttrAccess);
switch (r) {
case Success:
@@ -254,6 +255,7 @@ static int
sproc_present_query_version(ClientPtr client)
{
REQUEST(xPresentQueryVersionReq);
+ REQUEST_SIZE_MATCH(xPresentQueryVersionReq);
swaps(&stuff->length);
swapl(&stuff->majorVersion);
@@ -265,6 +267,7 @@ static int
sproc_present_pixmap(ClientPtr client)
{
REQUEST(xPresentPixmapReq);
+ REQUEST_AT_LEAST_SIZE(xPresentPixmapReq);
swaps(&stuff->length);
swapl(&stuff->window);
@@ -284,6 +287,7 @@ static int
sproc_present_notify_msc(ClientPtr client)
{
REQUEST(xPresentNotifyMSCReq);
+ REQUEST_SIZE_MATCH(xPresentNotifyMSCReq);
swaps(&stuff->length);
swapl(&stuff->window);
@@ -297,6 +301,7 @@ static int
sproc_present_select_input (ClientPtr client)
{
REQUEST(xPresentSelectInputReq);
+ REQUEST_SIZE_MATCH(xPresentSelectInputReq);
swaps(&stuff->length);
swapl(&stuff->window);
@@ -308,6 +313,7 @@ static int
sproc_present_query_capabilities (ClientPtr client)
{
REQUEST(xPresentQueryCapabilitiesReq);
+ REQUEST_SIZE_MATCH(xPresentQueryCapabilitiesReq);
swaps(&stuff->length);
swapl(&stuff->target);
return (*proc_present_vector[stuff->presentReqType]) (client);
--
1.7.9.2
++++++ U_randr_unvalidated_lengths_in_RandR_extension_swapped_procs.patch ++++++
Subject: randr: unvalidated lengths in RandR extension swapped procs
References: bnc#907268, CVE-2014-8101
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
randr/rrsdispatch.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/randr/rrsdispatch.c b/randr/rrsdispatch.c
index 08c3b6a..47558cf 100644
--- a/randr/rrsdispatch.c
+++ b/randr/rrsdispatch.c
@@ -27,6 +27,7 @@ SProcRRQueryVersion(ClientPtr client)
{
REQUEST(xRRQueryVersionReq);
+ REQUEST_SIZE_MATCH(xRRQueryVersionReq);
swaps(&stuff->length);
swapl(&stuff->majorVersion);
swapl(&stuff->minorVersion);
@@ -38,6 +39,7 @@ SProcRRGetScreenInfo(ClientPtr client)
{
REQUEST(xRRGetScreenInfoReq);
+ REQUEST_SIZE_MATCH(xRRGetScreenInfoReq);
swaps(&stuff->length);
swapl(&stuff->window);
return (*ProcRandrVector[stuff->randrReqType]) (client);
@@ -69,6 +71,7 @@ SProcRRSelectInput(ClientPtr client)
{
REQUEST(xRRSelectInputReq);
+ REQUEST_SIZE_MATCH(xRRSelectInputReq);
swaps(&stuff->length);
swapl(&stuff->window);
swaps(&stuff->enable);
@@ -152,6 +155,7 @@ SProcRRConfigureOutputProperty(ClientPtr client)
{
REQUEST(xRRConfigureOutputPropertyReq);
+ REQUEST_AT_LEAST_SIZE(xRRConfigureOutputPropertyReq);
swaps(&stuff->length);
swapl(&stuff->output);
swapl(&stuff->property);
--
1.7.9.2
++++++ U_render_check_request_size_before_reading_it.patch ++++++
Subject: render: check request size before reading it
References: bnc#907268, CVE-2014-8100
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Otherwise we may be reading outside of the client request.
Signed-off-by: Julien Cristau <jcristau(a)debian.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
---
render/render.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/render/render.c b/render/render.c
index e3031da..200e0c8 100644
--- a/render/render.c
+++ b/render/render.c
@@ -276,11 +276,11 @@ ProcRenderQueryVersion(ClientPtr client)
REQUEST(xRenderQueryVersionReq);
+ REQUEST_SIZE_MATCH(xRenderQueryVersionReq);
+
pRenderClient->major_version = stuff->majorVersion;
pRenderClient->minor_version = stuff->minorVersion;
- REQUEST_SIZE_MATCH(xRenderQueryVersionReq);
-
if ((stuff->majorVersion * 1000 + stuff->minorVersion) <
(SERVER_RENDER_MAJOR_VERSION * 1000 + SERVER_RENDER_MINOR_VERSION)) {
rep.majorVersion = stuff->majorVersion;
--
1.7.9.2
++++++ U_render_unvalidated_lengths_in_Render_extn_swapped_procs.patch ++++++
Subject: render: unvalidated lengths in Render extn. swapped procs
References: bnc#907268, CVE-2014-8100
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
render/render.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/render/render.c b/render/render.c
index 200e0c8..723f380 100644
--- a/render/render.c
+++ b/render/render.c
@@ -1995,7 +1995,7 @@ static int
SProcRenderQueryVersion(ClientPtr client)
{
REQUEST(xRenderQueryVersionReq);
-
+ REQUEST_SIZE_MATCH(xRenderQueryVersionReq);
swaps(&stuff->length);
swapl(&stuff->majorVersion);
swapl(&stuff->minorVersion);
@@ -2006,6 +2006,7 @@ static int
SProcRenderQueryPictFormats(ClientPtr client)
{
REQUEST(xRenderQueryPictFormatsReq);
+ REQUEST_SIZE_MATCH(xRenderQueryPictFormatsReq);
swaps(&stuff->length);
return (*ProcRenderVector[stuff->renderReqType]) (client);
}
@@ -2014,6 +2015,7 @@ static int
SProcRenderQueryPictIndexValues(ClientPtr client)
{
REQUEST(xRenderQueryPictIndexValuesReq);
+ REQUEST_AT_LEAST_SIZE(xRenderQueryPictIndexValuesReq);
swaps(&stuff->length);
swapl(&stuff->format);
return (*ProcRenderVector[stuff->renderReqType]) (client);
@@ -2029,6 +2031,7 @@ static int
SProcRenderCreatePicture(ClientPtr client)
{
REQUEST(xRenderCreatePictureReq);
+ REQUEST_AT_LEAST_SIZE(xRenderCreatePictureReq);
swaps(&stuff->length);
swapl(&stuff->pid);
swapl(&stuff->drawable);
@@ -2042,6 +2045,7 @@ static int
SProcRenderChangePicture(ClientPtr client)
{
REQUEST(xRenderChangePictureReq);
+ REQUEST_AT_LEAST_SIZE(xRenderChangePictureReq);
swaps(&stuff->length);
swapl(&stuff->picture);
swapl(&stuff->mask);
@@ -2053,6 +2057,7 @@ static int
SProcRenderSetPictureClipRectangles(ClientPtr client)
{
REQUEST(xRenderSetPictureClipRectanglesReq);
+ REQUEST_AT_LEAST_SIZE(xRenderSetPictureClipRectanglesReq);
swaps(&stuff->length);
swapl(&stuff->picture);
swaps(&stuff->xOrigin);
@@ -2065,6 +2070,7 @@ static int
SProcRenderFreePicture(ClientPtr client)
{
REQUEST(xRenderFreePictureReq);
+ REQUEST_SIZE_MATCH(xRenderFreePictureReq);
swaps(&stuff->length);
swapl(&stuff->picture);
return (*ProcRenderVector[stuff->renderReqType]) (client);
@@ -2074,6 +2080,7 @@ static int
SProcRenderComposite(ClientPtr client)
{
REQUEST(xRenderCompositeReq);
+ REQUEST_SIZE_MATCH(xRenderCompositeReq);
swaps(&stuff->length);
swapl(&stuff->src);
swapl(&stuff->mask);
@@ -2093,6 +2100,7 @@ static int
SProcRenderScale(ClientPtr client)
{
REQUEST(xRenderScaleReq);
+ REQUEST_SIZE_MATCH(xRenderScaleReq);
swaps(&stuff->length);
swapl(&stuff->src);
swapl(&stuff->dst);
@@ -2193,6 +2201,7 @@ static int
SProcRenderCreateGlyphSet(ClientPtr client)
{
REQUEST(xRenderCreateGlyphSetReq);
+ REQUEST_SIZE_MATCH(xRenderCreateGlyphSetReq);
swaps(&stuff->length);
swapl(&stuff->gsid);
swapl(&stuff->format);
@@ -2203,6 +2212,7 @@ static int
SProcRenderReferenceGlyphSet(ClientPtr client)
{
REQUEST(xRenderReferenceGlyphSetReq);
+ REQUEST_SIZE_MATCH(xRenderReferenceGlyphSetReq);
swaps(&stuff->length);
swapl(&stuff->gsid);
swapl(&stuff->existing);
@@ -2213,6 +2223,7 @@ static int
SProcRenderFreeGlyphSet(ClientPtr client)
{
REQUEST(xRenderFreeGlyphSetReq);
+ REQUEST_SIZE_MATCH(xRenderFreeGlyphSetReq);
swaps(&stuff->length);
swapl(&stuff->glyphset);
return (*ProcRenderVector[stuff->renderReqType]) (client);
@@ -2227,6 +2238,7 @@ SProcRenderAddGlyphs(ClientPtr client)
xGlyphInfo *gi;
REQUEST(xRenderAddGlyphsReq);
+ REQUEST_AT_LEAST_SIZE(xRenderAddGlyphsReq);
swaps(&stuff->length);
swapl(&stuff->glyphset);
swapl(&stuff->nglyphs);
@@ -2261,6 +2273,7 @@ static int
SProcRenderFreeGlyphs(ClientPtr client)
{
REQUEST(xRenderFreeGlyphsReq);
+ REQUEST_AT_LEAST_SIZE(xRenderFreeGlyphsReq);
swaps(&stuff->length);
swapl(&stuff->glyphset);
SwapRestL(stuff);
@@ -2278,6 +2291,7 @@ SProcRenderCompositeGlyphs(ClientPtr client)
int size;
REQUEST(xRenderCompositeGlyphsReq);
+ REQUEST_AT_LEAST_SIZE(xRenderCompositeGlyphsReq);
switch (stuff->renderReqType) {
default:
--
1.7.9.2
++++++ U_tigervnc-Add-AccessSetDesktopSize-right.patch ++++++
Subject: Add AccessSetDesktopSize right.
Patch-Mainline: Upstream
Git-commit: b318b8f978a6f6b99578ec39a5dbd9b7dc860505
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
So clients with limited access rights can not affect it.
---
common/rfb/SConnection.cxx | 15 ++++++++-------
common/rfb/SConnection.h | 15 ++++++++-------
common/rfb/ServerCore.cxx | 4 ++++
common/rfb/ServerCore.h | 1 +
common/rfb/VNCSConnectionST.cxx | 3 +++
5 files changed, 24 insertions(+), 14 deletions(-)
diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx
index 4bf0f93..20182a0 100644
--- a/common/rfb/SConnection.cxx
+++ b/common/rfb/SConnection.cxx
@@ -37,13 +37,14 @@ using namespace rfb;
static LogWriter vlog("SConnection");
// AccessRights values
-const SConnection::AccessRights SConnection::AccessView = 0x0001;
-const SConnection::AccessRights SConnection::AccessKeyEvents = 0x0002;
-const SConnection::AccessRights SConnection::AccessPtrEvents = 0x0004;
-const SConnection::AccessRights SConnection::AccessCutText = 0x0008;
-const SConnection::AccessRights SConnection::AccessDefault = 0x03ff;
-const SConnection::AccessRights SConnection::AccessNoQuery = 0x0400;
-const SConnection::AccessRights SConnection::AccessFull = 0xffff;
+const SConnection::AccessRights SConnection::AccessView = 0x0001;
+const SConnection::AccessRights SConnection::AccessKeyEvents = 0x0002;
+const SConnection::AccessRights SConnection::AccessPtrEvents = 0x0004;
+const SConnection::AccessRights SConnection::AccessCutText = 0x0008;
+const SConnection::AccessRights SConnection::AccessSetDesktopSize = 0x0010;
+const SConnection::AccessRights SConnection::AccessDefault = 0x03ff;
+const SConnection::AccessRights SConnection::AccessNoQuery = 0x0400;
+const SConnection::AccessRights SConnection::AccessFull = 0xffff;
SConnection::SConnection(bool reverseConnection_)
diff --git a/common/rfb/SConnection.h b/common/rfb/SConnection.h
index f712417..0379b17 100644
--- a/common/rfb/SConnection.h
+++ b/common/rfb/SConnection.h
@@ -122,13 +122,14 @@ namespace rfb {
// is up to the derived class.
typedef rdr::U16 AccessRights;
- static const AccessRights AccessView; // View display contents
- static const AccessRights AccessKeyEvents; // Send key events
- static const AccessRights AccessPtrEvents; // Send pointer events
- static const AccessRights AccessCutText; // Send/receive clipboard events
- static const AccessRights AccessDefault; // The default rights, INCLUDING FUTURE ONES
- static const AccessRights AccessNoQuery; // Connect without local user accepting
- static const AccessRights AccessFull; // All of the available AND FUTURE rights
+ static const AccessRights AccessView; // View display contents
+ static const AccessRights AccessKeyEvents; // Send key events
+ static const AccessRights AccessPtrEvents; // Send pointer events
+ static const AccessRights AccessCutText; // Send/receive clipboard events
+ static const AccessRights AccessSetDesktopSize; // Change desktop size
+ static const AccessRights AccessDefault; // The default rights, INCLUDING FUTURE ONES
+ static const AccessRights AccessNoQuery; // Connect without local user accepting
+ static const AccessRights AccessFull; // All of the available AND FUTURE rights
virtual void setAccessRights(AccessRights ar) = 0;
// Other methods
diff --git a/common/rfb/ServerCore.cxx b/common/rfb/ServerCore.cxx
index ae2fd24..b11a352 100644
--- a/common/rfb/ServerCore.cxx
+++ b/common/rfb/ServerCore.cxx
@@ -89,6 +89,10 @@ rfb::BoolParameter rfb::Server::sendCutText
("SendCutText",
"Send clipboard changes to clients.",
true);
+rfb::BoolParameter rfb::Server::acceptSetDesktopSize
+("AcceptSetDesktopSize",
+ "Accept set desktop size events from clients.",
+ true);
rfb::BoolParameter rfb::Server::queryConnect
("QueryConnect",
"Prompt the local user to accept or reject incoming connections.",
diff --git a/common/rfb/ServerCore.h b/common/rfb/ServerCore.h
index e12a8bc..5fc996f 100644
--- a/common/rfb/ServerCore.h
+++ b/common/rfb/ServerCore.h
@@ -46,6 +46,7 @@ namespace rfb {
static BoolParameter acceptPointerEvents;
static BoolParameter acceptCutText;
static BoolParameter sendCutText;
+ static BoolParameter acceptSetDesktopSize;
static BoolParameter queryConnect;
};
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index 618048a..274c496 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -584,6 +584,9 @@ void VNCSConnectionST::setDesktopSize(int fb_width, int fb_height,
{
unsigned int result;
+ if (!(accessRights & AccessSetDesktopSize)) return;
+ if (!rfb::Server::acceptSetDesktopSize) return;
+
// Don't bother the desktop with an invalid configuration
if (!layout.validate(fb_width, fb_height)) {
writer()->writeExtendedDesktopSize(reasonClient, resultInvalid,
--
1.8.4.5
++++++ U_tigervnc-Allow-SSecurity-to-specify-AccessRights-for-SConnect.patch ++++++
Subject: Allow SSecurity to specify AccessRights for SConnection.
Patch-Mainline: Upstream
Git-commit: 8d1ee00bea125fa5f3e6ad7cf816e80890fb17d3
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
SConnection has AccessRights property that specifies what connected client can
do. Set this property to value given by SSecurity after successful
authentication. This way individual SSecurity subclasses can accept clients but
restrict their access.
---
common/rfb/SConnection.cxx | 2 ++
common/rfb/SConnection.h | 1 -
common/rfb/SSecurity.h | 5 +++--
common/rfb/Security.h | 1 -
common/rfb/SecurityServer.h | 3 ++-
5 files changed, 7 insertions(+), 5 deletions(-)
Index: tigervnc-1.4.1/common/rfb/SConnection.cxx
===================================================================
--- tigervnc-1.4.1.orig/common/rfb/SConnection.cxx
+++ tigervnc-1.4.1/common/rfb/SConnection.cxx
@@ -28,6 +28,7 @@
#include <rfb/ServerCore.h>
#include <rfb/encodings.h>
#include <rfb/EncodeManager.h>
+#include <rfb/SSecurity.h>
#include <rfb/LogWriter.h>
@@ -223,6 +224,7 @@ void SConnection::processSecurityMsg()
if (done) {
state_ = RFBSTATE_QUERYING;
queryConnection(ssecurity->getUserName());
+ setAccessRights(ssecurity->getAccessRights());
}
} catch (AuthFailureException& e) {
vlog.error("AuthFailureException: %s", e.str());
Index: tigervnc-1.4.1/common/rfb/SConnection.h
===================================================================
--- tigervnc-1.4.1.orig/common/rfb/SConnection.h
+++ tigervnc-1.4.1/common/rfb/SConnection.h
@@ -28,7 +28,6 @@
#include <rdr/OutStream.h>
#include <rfb/SMsgHandler.h>
#include <rfb/SecurityServer.h>
-#include <rfb/SSecurity.h>
namespace rfb {
Index: tigervnc-1.4.1/common/rfb/SSecurity.h
===================================================================
--- tigervnc-1.4.1.orig/common/rfb/SSecurity.h
+++ tigervnc-1.4.1/common/rfb/SSecurity.h
@@ -44,13 +44,12 @@
#define __RFB_SSECURITY_H__
#include <rdr/types.h>
+#include <rfb/SConnection.h>
#include <rfb/util.h>
#include <list>
namespace rfb {
- class SConnection;
-
class SSecurity {
public:
virtual ~SSecurity() {}
@@ -63,6 +62,8 @@ namespace rfb {
// necessary. Null may be returned to indicate that there is no user name
// for this security type.
virtual const char* getUserName() const = 0;
+
+ virtual SConnection::AccessRights getAccessRights() const { return SConnection::AccessDefault; }
};
}
Index: tigervnc-1.4.1/common/rfb/Security.h
===================================================================
--- tigervnc-1.4.1.orig/common/rfb/Security.h
+++ tigervnc-1.4.1/common/rfb/Security.h
@@ -25,7 +25,6 @@
#include <rdr/types.h>
#include <rfb/Configuration.h>
#include <rfb/CSecurity.h>
-#include <rfb/SSecurity.h>
#include <list>
Index: tigervnc-1.4.1/common/rfb/SecurityServer.h
===================================================================
--- tigervnc-1.4.1.orig/common/rfb/SecurityServer.h
+++ tigervnc-1.4.1/common/rfb/SecurityServer.h
@@ -22,9 +22,10 @@
#include <rfb/Configuration.h>
#include <rfb/Security.h>
-#include <rfb/SSecurity.h>
namespace rfb {
+
+ class SSecurity;
class SecurityServer : public Security {
public:
++++++ U_tigervnc-Limit-access-to-non-shared-mode.patch ++++++
Subject: Limit access to non-shared mode
Patch-Mainline: Upstream
Git-commit: e7be49b57353e66fcbe8702edbeeed393e254ff9
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
A read-only client should not be allowed to kick out other clients.
It will be forced into shared mode, or refused the connection, depending
on the neverShared parameter.
---
common/rfb/SConnection.cxx | 1 +
common/rfb/SConnection.h | 1 +
common/rfb/VNCSConnectionST.cxx | 3 ++-
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/common/rfb/SConnection.cxx b/common/rfb/SConnection.cxx
index 20182a0..99a4850 100644
--- a/common/rfb/SConnection.cxx
+++ b/common/rfb/SConnection.cxx
@@ -42,6 +42,7 @@ const SConnection::AccessRights SConnection::AccessKeyEvents = 0x0002;
const SConnection::AccessRights SConnection::AccessPtrEvents = 0x0004;
const SConnection::AccessRights SConnection::AccessCutText = 0x0008;
const SConnection::AccessRights SConnection::AccessSetDesktopSize = 0x0010;
+const SConnection::AccessRights SConnection::AccessNonShared = 0x0020;
const SConnection::AccessRights SConnection::AccessDefault = 0x03ff;
const SConnection::AccessRights SConnection::AccessNoQuery = 0x0400;
const SConnection::AccessRights SConnection::AccessFull = 0xffff;
diff --git a/common/rfb/SConnection.h b/common/rfb/SConnection.h
index 0379b17..005a7a8 100644
--- a/common/rfb/SConnection.h
+++ b/common/rfb/SConnection.h
@@ -127,6 +127,7 @@ namespace rfb {
static const AccessRights AccessPtrEvents; // Send pointer events
static const AccessRights AccessCutText; // Send/receive clipboard events
static const AccessRights AccessSetDesktopSize; // Change desktop size
+ static const AccessRights AccessNonShared; // Exclusive access to the server
static const AccessRights AccessDefault; // The default rights, INCLUDING FUTURE ONES
static const AccessRights AccessNoQuery; // Connect without local user accepting
static const AccessRights AccessFull; // All of the available AND FUTURE rights
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index 274c496..e30b4f4 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -445,9 +445,10 @@ void VNCSConnectionST::clientInit(bool shared)
{
lastEventTime = time(0);
if (rfb::Server::alwaysShared || reverseConnection) shared = true;
+ if (!(accessRights & AccessNonShared)) shared = true;
if (rfb::Server::neverShared) shared = false;
if (!shared) {
- if (rfb::Server::disconnectClients) {
+ if (rfb::Server::disconnectClients && (accessRights & AccessNonShared)) {
// - Close all the other connected clients
vlog.debug("non-shared connection - closing clients");
server->closeClients("Non-shared connection requested", getSock());
--
1.8.4.5
++++++ U_tigervnc-Make-sure-attributes-propagate-through-security-wrap.patch ++++++
Subject: Make sure attributes propagate through security wrappers
Patch-Mainline: Upstream
Git-commit: 555815a4e3e14c67ac00130f7affa0138ff47d20
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
Both SSecurityVeNCrypt and SSecurityStack are wrappers around other
security objects, so they need to delegate the properties of those
sub-objects properly.
---
common/rfb/SSecurityStack.cxx | 17 +++++++++++++++++
common/rfb/SSecurityStack.h | 1 +
common/rfb/SSecurityVeNCrypt.cxx | 13 +++++++++++++
common/rfb/SSecurityVeNCrypt.h | 5 +++--
4 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/common/rfb/SSecurityStack.cxx b/common/rfb/SSecurityStack.cxx
index 9ddc9f2..478ce4f 100644
--- a/common/rfb/SSecurityStack.cxx
+++ b/common/rfb/SSecurityStack.cxx
@@ -65,3 +65,20 @@ const char* SSecurityStack::getUserName() const
return c;
}
+
+SConnection::AccessRights SSecurityStack::getAccessRights() const
+{
+ SConnection::AccessRights accessRights;
+
+ if (!state0 && !state1)
+ return SSecurity::getAccessRights();
+
+ accessRights = SConnection::AccessFull;
+
+ if (state0)
+ accessRights &= state0->getAccessRights();
+ if (state1)
+ accessRights &= state1->getAccessRights();
+
+ return accessRights;
+}
diff --git a/common/rfb/SSecurityStack.h b/common/rfb/SSecurityStack.h
index c80a3b9..dd743d2 100644
--- a/common/rfb/SSecurityStack.h
+++ b/common/rfb/SSecurityStack.h
@@ -31,6 +31,7 @@ namespace rfb {
virtual bool processMsg(SConnection* cc);
virtual int getType() const { return type; };
virtual const char* getUserName() const;
+ virtual SConnection::AccessRights getAccessRights() const;
protected:
short state;
SSecurity* state0;
diff --git a/common/rfb/SSecurityVeNCrypt.cxx b/common/rfb/SSecurityVeNCrypt.cxx
index 39647f6..7c13749 100644
--- a/common/rfb/SSecurityVeNCrypt.cxx
+++ b/common/rfb/SSecurityVeNCrypt.cxx
@@ -171,3 +171,16 @@ bool SSecurityVeNCrypt::processMsg(SConnection* sc)
return ssecurity->processMsg(sc);
}
+const char* SSecurityVeNCrypt::getUserName() const
+{
+ if (ssecurity == NULL)
+ return NULL;
+ return ssecurity->getUserName();
+}
+
+SConnection::AccessRights SSecurityVeNCrypt::getAccessRights() const
+{
+ if (ssecurity == NULL)
+ return SSecurity::getAccessRights();
+ return ssecurity->getAccessRights();
+}
diff --git a/common/rfb/SSecurityVeNCrypt.h b/common/rfb/SSecurityVeNCrypt.h
index 849a702..f9c753f 100644
--- a/common/rfb/SSecurityVeNCrypt.h
+++ b/common/rfb/SSecurityVeNCrypt.h
@@ -39,8 +39,9 @@ namespace rfb {
SSecurityVeNCrypt(SecurityServer *sec);
~SSecurityVeNCrypt();
virtual bool processMsg(SConnection* sc);// { return true; }
- virtual int getType() const { return secTypeVeNCrypt; }
- virtual const char* getUserName() const { return NULL; }
+ virtual int getType() const { return chosenType; }
+ virtual const char* getUserName() const;
+ virtual SConnection::AccessRights getAccessRights() const;
protected:
SSecurity *ssecurity;
--
1.8.4.5
++++++ U_tigervnc-Use-new-API-for-getVncAuthPasswd.patch ++++++
Subject: Use new API for getVncAuthPasswd()
Patch-Mainline: Upstream
Git-commit: e84db6535eb624f5b4c81eefa1703267acf16cc2
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
---
win/vncconfig/Authentication.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/win/vncconfig/Authentication.h b/win/vncconfig/Authentication.h
index 534646c..c2aba91 100644
--- a/win/vncconfig/Authentication.h
+++ b/win/vncconfig/Authentication.h
@@ -92,7 +92,8 @@ namespace rfb {
static bool haveVncPassword() {
- PlainPasswd password(SSecurityVncAuth::vncAuthPasswd.getVncAuthPasswd());
+ PlainPasswd password, passwordReadOnly;
+ SSecurityVncAuth::vncAuthPasswd.getVncAuthPasswd(&password, &passwordReadOnly);
return password.buf && strlen(password.buf) != 0;
}
--
1.8.4.5
++++++ U_tigervnc-VncAuth-Read-and-use-readonly-password.patch ++++++
Subject: VncAuth: Read and use readonly password.
Patch-Mainline: Upstream
Git-commit: 270a31cf172a5ea15061ae4bffdad5780e4014ad
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
Try to read second password (for read only access) from rfbauth file. If client
sent second password instead of first one, allow him read only access.
---
common/rfb/SSecurityVncAuth.cxx | 64 ++++++++++++++++++++++++++---------------
common/rfb/SSecurityVncAuth.h | 8 ++++--
2 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/common/rfb/SSecurityVncAuth.cxx b/common/rfb/SSecurityVncAuth.cxx
index ca81bf3..05488f6 100644
--- a/common/rfb/SSecurityVncAuth.cxx
+++ b/common/rfb/SSecurityVncAuth.cxx
@@ -49,10 +49,27 @@ VncAuthPasswdParameter SSecurityVncAuth::vncAuthPasswd
"access the server", &SSecurityVncAuth::vncAuthPasswdFile);
SSecurityVncAuth::SSecurityVncAuth(void)
- : sentChallenge(false), responsePos(0), pg(&vncAuthPasswd)
+ : sentChallenge(false), responsePos(0), pg(&vncAuthPasswd), accessRights(0)
{
}
+bool SSecurityVncAuth::verifyResponse(const PlainPasswd &password)
+{
+ rdr::U8 expectedResponse[vncAuthChallengeSize];
+
+ // Calculate the expected response
+ rdr::U8 key[8];
+ int pwdLen = strlen(password.buf);
+ for (int i=0; i<8; i++)
+ key[i] = i<pwdLen ? password.buf[i] : 0;
+ deskey(key, EN0);
+ for (int j = 0; j < vncAuthChallengeSize; j += 8)
+ des(challenge+j, expectedResponse+j);
+
+ // Check the actual response
+ return memcmp(response, expectedResponse, vncAuthChallengeSize) == 0;
+}
+
bool SSecurityVncAuth::processMsg(SConnection* sc)
{
rdr::InStream* is = sc->getInStream();
@@ -72,25 +89,23 @@ bool SSecurityVncAuth::processMsg(SConnection* sc)
if (responsePos < vncAuthChallengeSize) return false;
- PlainPasswd passwd(pg->getVncAuthPasswd());
+ PlainPasswd passwd, passwdReadOnly;
+ pg->getVncAuthPasswd(&passwd, &passwdReadOnly);
if (!passwd.buf)
throw AuthFailureException("No password configured for VNC Auth");
- // Calculate the expected response
- rdr::U8 key[8];
- int pwdLen = strlen(passwd.buf);
- for (int i=0; i<8; i++)
- key[i] = i<pwdLen ? passwd.buf[i] : 0;
- deskey(key, EN0);
- for (int j = 0; j < vncAuthChallengeSize; j += 8)
- des(challenge+j, challenge+j);
+ if (verifyResponse(passwd)) {
+ accessRights = SConnection::AccessDefault;
+ return true;
+ }
- // Check the actual response
- if (memcmp(challenge, response, vncAuthChallengeSize) != 0)
- throw AuthFailureException();
+ if (passwdReadOnly.buf && verifyResponse(passwdReadOnly)) {
+ accessRights = SConnection::AccessView;
+ return true;
+ }
- return true;
+ throw AuthFailureException();
}
VncAuthPasswdParameter::VncAuthPasswdParameter(const char* name,
@@ -99,8 +114,8 @@ VncAuthPasswdParameter::VncAuthPasswdParameter(const char* name,
: BinaryParameter(name, desc, 0, 0, ConfServer), passwdFile(passwdFile_) {
}
-char* VncAuthPasswdParameter::getVncAuthPasswd() {
- ObfuscatedPasswd obfuscated;
+void VncAuthPasswdParameter::getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword) {
+ ObfuscatedPasswd obfuscated, obfuscatedReadOnly;
getData((void**)&obfuscated.buf, &obfuscated.length);
if (obfuscated.length == 0) {
@@ -108,18 +123,20 @@ char* VncAuthPasswdParameter::getVncAuthPasswd() {
CharArray fname(passwdFile->getData());
if (!fname.buf[0]) {
vlog.info("neither %s nor %s params set", getName(), passwdFile->getName());
- return 0;
+ return;
}
FILE* fp = fopen(fname.buf, "r");
if (!fp) {
vlog.error("opening password file '%s' failed",fname.buf);
- return 0;
+ return;
}
vlog.debug("reading password file");
- obfuscated.buf = new char[128];
- obfuscated.length = fread(obfuscated.buf, 1, 128, fp);
+ obfuscated.buf = new char[8];
+ obfuscated.length = fread(obfuscated.buf, 1, 8, fp);
+ obfuscatedReadOnly.buf = new char[8];
+ obfuscatedReadOnly.length = fread(obfuscatedReadOnly.buf, 1, 8, fp);
fclose(fp);
} else {
vlog.info("%s parameter not set", getName());
@@ -127,10 +144,11 @@ char* VncAuthPasswdParameter::getVncAuthPasswd() {
}
try {
- PlainPasswd password(obfuscated);
- return password.takeBuf();
+ PlainPasswd plainPassword(obfuscated);
+ password->replaceBuf(plainPassword.takeBuf());
+ PlainPasswd plainPasswordReadOnly(obfuscatedReadOnly);
+ readOnlyPassword->replaceBuf(plainPasswordReadOnly.takeBuf());
} catch (...) {
- return 0;
}
}
diff --git a/common/rfb/SSecurityVncAuth.h b/common/rfb/SSecurityVncAuth.h
index 8a2d0f6..1aa3a27 100644
--- a/common/rfb/SSecurityVncAuth.h
+++ b/common/rfb/SSecurityVncAuth.h
@@ -25,6 +25,7 @@
#define __RFB_SSECURITYVNCAUTH_H__
#include <rfb/Configuration.h>
+#include <rfb/Password.h>
#include <rfb/SSecurity.h>
#include <rfb/Security.h>
#include <rdr/types.h>
@@ -35,13 +36,13 @@ namespace rfb {
public:
// getPasswd() returns a string or null if unsuccessful. The
// SSecurityVncAuth object delete[]s the string when done.
- virtual char* getVncAuthPasswd()=0;
+ virtual void getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword)=0;
};
class VncAuthPasswdParameter : public VncAuthPasswdGetter, BinaryParameter {
public:
VncAuthPasswdParameter(const char* name, const char* desc, StringParameter* passwdFile_);
- virtual char* getVncAuthPasswd();
+ virtual void getVncAuthPasswd(PlainPasswd *password, PlainPasswd *readOnlyPassword);
protected:
StringParameter* passwdFile;
};
@@ -52,15 +53,18 @@ namespace rfb {
virtual bool processMsg(SConnection* sc);
virtual int getType() const {return secTypeVncAuth;}
virtual const char* getUserName() const {return 0;}
+ virtual SConnection::AccessRights getAccessRights() const { return accessRights; }
static StringParameter vncAuthPasswdFile;
static VncAuthPasswdParameter vncAuthPasswd;
private:
+ bool verifyResponse(const PlainPasswd &password);
enum {vncAuthChallengeSize = 16};
rdr::U8 challenge[vncAuthChallengeSize];
rdr::U8 response[vncAuthChallengeSize];
bool sentChallenge;
int responsePos;
VncAuthPasswdGetter* pg;
+ SConnection::AccessRights accessRights;
};
}
#endif
--
1.8.4.5
++++++ U_tigervnc-vncpasswd-Ask-for-read-only-password.patch ++++++
Subject: vncpasswd: Ask for read only password.
Patch-Mainline: Upstream
Git-commit: dbf6355cbb69e588a4162debadb5337dd8b14ac0
References: bnc#901752
Singed-off-by: Michal Srb <msrb(a)suse.com>
Ask for optional second password that is used for read only access. Save it
after the main password. This is same format as tightvnc uses.
---
unix/vncpasswd/vncpasswd.cxx | 68 ++++++++++++++++++++++++++++----------------
1 file changed, 44 insertions(+), 24 deletions(-)
diff --git a/unix/vncpasswd/vncpasswd.cxx b/unix/vncpasswd/vncpasswd.cxx
index 7ba0b22..16c925e 100644
--- a/unix/vncpasswd/vncpasswd.cxx
+++ b/unix/vncpasswd/vncpasswd.cxx
@@ -81,6 +81,36 @@ static int encrypt_pipe() {
else return 1;
}
+static ObfuscatedPasswd* readpassword() {
+ while (true) {
+ PlainPasswd passwd(getpassword("Password:"));
+ if (!passwd.buf) {
+ perror("getpassword error");
+ exit(1);
+ }
+ if (strlen(passwd.buf) < 6) {
+ if (strlen(passwd.buf) == 0) {
+ fprintf(stderr,"Password not changed\n");
+ exit(1);
+ }
+ fprintf(stderr,"Password must be at least 6 characters - try again\n");
+ continue;
+ }
+
+ PlainPasswd passwd2(getpassword("Verify:"));
+ if (!passwd2.buf) {
+ perror("getpass error");
+ exit(1);
+ }
+ if (strcmp(passwd.buf, passwd2.buf) != 0) {
+ fprintf(stderr,"Passwords don't match - try again\n");
+ continue;
+ }
+
+ return new ObfuscatedPasswd(passwd);
+ }
+}
+
int main(int argc, char** argv)
{
prog = argv[0];
@@ -113,28 +143,13 @@ int main(int argc, char** argv)
}
while (true) {
- PlainPasswd passwd(getpassword("Password:"));
- if (!passwd.buf) {
- perror("getpassword error");
- exit(1);
- }
- if (strlen(passwd.buf) < 6) {
- if (strlen(passwd.buf) == 0) {
- fprintf(stderr,"Password not changed\n");
- exit(1);
- }
- fprintf(stderr,"Password must be at least 6 characters - try again\n");
- continue;
- }
+ ObfuscatedPasswd* obfuscated = readpassword();
+ ObfuscatedPasswd* obfuscatedReadOnly = 0;
- PlainPasswd passwd2(getpassword("Verify:"));
- if (!passwd2.buf) {
- perror("getpass error");
- exit(1);
- }
- if (strcmp(passwd.buf, passwd2.buf) != 0) {
- fprintf(stderr,"Passwords don't match - try again\n");
- continue;
+ fprintf(stderr, "Would you like to enter a view-only password (y/n)? ");
+ char yesno[3];
+ if (fgets(yesno, 3, stdin) != NULL && (yesno[0] == 'y' || yesno[0] == 'Y')) {
+ obfuscatedReadOnly = readpassword();
}
FILE* fp = fopen(fname,"w");
@@ -144,13 +159,18 @@ int main(int argc, char** argv)
}
chmod(fname, S_IRUSR|S_IWUSR);
- ObfuscatedPasswd obfuscated(passwd);
-
- if (fwrite(obfuscated.buf, obfuscated.length, 1, fp) != 1) {
+ if (fwrite(obfuscated->buf, obfuscated->length, 1, fp) != 1) {
fprintf(stderr,"Writing to %s failed\n",fname);
exit(1);
}
+ if (obfuscatedReadOnly) {
+ if (fwrite(obfuscatedReadOnly->buf, obfuscatedReadOnly->length, 1, fp) != 1) {
+ fprintf(stderr,"Writing to %s failed\n",fname);
+ exit(1);
+ }
+ }
+
fclose(fp);
return 0;
--
1.8.4.5
++++++ U_unchecked_malloc_may_allow_unauthed_client_to_crash_Xserver.patch ++++++
Subject: unchecked malloc may allow unauthed client to crash Xserver
References: bnc#907268, CVE-2014-8091
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
authdes_ezdecode() calls malloc() using a length provided by the
connection handshake sent by a newly connected client in order
to authenticate to the server, so should be treated as untrusted.
It didn't check if malloc() failed before writing to the newly
allocated buffer, so could lead to a server crash if the server
fails to allocate memory (up to UINT16_MAX bytes, since the len
field is a CARD16 in the X protocol).
Reported-by: Ilja Van Sprundel <ivansprundel(a)ioactive.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
os/rpcauth.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/os/rpcauth.c b/os/rpcauth.c
index d60ea35..413cc61 100644
--- a/os/rpcauth.c
+++ b/os/rpcauth.c
@@ -66,6 +66,10 @@ authdes_ezdecode(const char *inmsg, int len)
SVCXPRT xprt;
temp_inmsg = malloc(len);
+ if (temp_inmsg == NULL) {
+ why = AUTH_FAILED; /* generic error, since there is no AUTH_BADALLOC */
+ return NULL;
+ }
memmove(temp_inmsg, inmsg, len);
memset((char *) &msg, 0, sizeof(msg));
--
1.7.9.2
++++++ U_xcmisc_unvalidated_length_in_SProcXCMiscGetXIDList.patch ++++++
Subject: xcmisc: unvalidated length in SProcXCMiscGetXIDList()
References: bnc#907268, CVE-2014-8096
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
Xext/xcmisc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c
index 034bfb6..1e91010 100644
--- a/Xext/xcmisc.c
+++ b/Xext/xcmisc.c
@@ -167,6 +167,7 @@ static int
SProcXCMiscGetXIDList(ClientPtr client)
{
REQUEST(xXCMiscGetXIDListReq);
+ REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq);
swaps(&stuff->length);
swapl(&stuff->count);
--
1.7.9.2
++++++ U_xfixes_unvalidated_length_in_SProcXFixesSelectSelectionInput.patch ++++++
Subject: xfixes: unvalidated length in SProcXFixesSelectSelectionInput
References: bnc#907268, CVE-2014-8102
Patch-Mainline: Upstream
Signed-off-by: Michal Srb <msrb(a)suse.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith(a)oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer(a)who-t.net>
---
xfixes/select.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/xfixes/select.c b/xfixes/select.c
index c088ed3..e964d58 100644
--- a/xfixes/select.c
+++ b/xfixes/select.c
@@ -201,6 +201,7 @@ SProcXFixesSelectSelectionInput(ClientPtr client)
{
REQUEST(xXFixesSelectSelectionInputReq);
+ REQUEST_SIZE_MATCH(xXFixesSelectSelectionInputReq);
swaps(&stuff->length);
swapl(&stuff->window);
swapl(&stuff->selection);
--
1.7.9.2
++++++ U_xkb-check-strings-length-against-request-size.patch ++++++
Git-commit: cc830bd3a5b44796f1e8721f336dca4f565a8130
Author: Olivier Fourdan <ofourdan(a)redhat.com>
Subject: xkb: Check strings length against request size
References: bnc#915810, CVE-2015-0255
Signed-off-by: Michal Srb <msrb(a)suse.com>
Ensure that the given strings length in an XkbSetGeometry request remain
within the limits of the size of the request.
Signed-off-by: Olivier Fourdan <ofourdan(a)redhat.com>
---
xkb/xkb.c | 65 +++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 40 insertions(+), 25 deletions(-)
Index: xorg-server-1.15.2/xkb/xkb.c
===================================================================
--- xorg-server-1.15.2.orig/xkb/xkb.c
+++ xorg-server-1.15.2/xkb/xkb.c
@@ -4957,26 +4957,29 @@ ProcXkbGetGeometry(ClientPtr client)
/***====================================================================***/
-static char *
-_GetCountedString(char **wire_inout, Bool swap)
+static Status
+_GetCountedString(char **wire_inout, ClientPtr client, char **str)
{
- char *wire, *str;
- CARD16 len, *plen;
+ char *wire, *next;
+ CARD16 len;
wire = *wire_inout;
- plen = (CARD16 *) wire;
- if (swap) {
- swaps(plen);
- }
- len = *plen;
- str = malloc(len + 1);
- if (str) {
- memcpy(str, &wire[2], len);
- str[len] = '\0';
+ len = *(CARD16 *) wire;
+ if (client->swapped) {
+ swaps(&len);
}
- wire += XkbPaddedSize(len + 2);
- *wire_inout = wire;
- return str;
+ next = wire + XkbPaddedSize(len + 2);
+ /* Check we're still within the size of the request */
+ if (client->req_len <
+ bytes_to_int32(next - (char *) client->requestBuffer))
+ return BadValue;
+ *str = malloc(len + 1);
+ if (!*str)
+ return BadAlloc;
+ memcpy(*str, &wire[2], len);
+ *(*str + len) = '\0';
+ *wire_inout = next;
+ return Success;
}
static Status
@@ -4986,6 +4989,7 @@ _CheckSetDoodad(char **wire_inout,
char *wire;
xkbDoodadWireDesc *dWire;
XkbDoodadPtr doodad;
+ Status status;
dWire = (xkbDoodadWireDesc *) (*wire_inout);
wire = (char *) &dWire[1];
@@ -5033,8 +5037,14 @@ _CheckSetDoodad(char **wire_inout,
doodad->text.width = dWire->text.width;
doodad->text.height = dWire->text.height;
doodad->text.color_ndx = dWire->text.colorNdx;
- doodad->text.text = _GetCountedString(&wire, client->swapped);
- doodad->text.font = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &doodad->text.text);
+ if (status != Success)
+ return status;
+ status = _GetCountedString(&wire, client, &doodad->text.font);
+ if (status != Success) {
+ free (doodad->text.text);
+ return status;
+ }
break;
case XkbIndicatorDoodad:
if (dWire->indicator.onColorNdx >= geom->num_colors) {
@@ -5069,7 +5079,9 @@ _CheckSetDoodad(char **wire_inout,
}
doodad->logo.color_ndx = dWire->logo.colorNdx;
doodad->logo.shape_ndx = dWire->logo.shapeNdx;
- doodad->logo.logo_name = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &doodad->logo.logo_name);
+ if (status != Success)
+ return status;
break;
default:
client->errorValue = _XkbErrCode2(0x4F, dWire->any.type);
@@ -5301,18 +5313,20 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSe
char *wire;
wire = (char *) &req[1];
- geom->label_font = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &geom->label_font);
+ if (status != Success)
+ return status;
for (i = 0; i < req->nProperties; i++) {
char *name, *val;
- name = _GetCountedString(&wire, client->swapped);
- if (!name)
- return BadAlloc;
- val = _GetCountedString(&wire, client->swapped);
- if (!val) {
+ status = _GetCountedString(&wire, client, &name);
+ if (status != Success)
+ return status;
+ status = _GetCountedString(&wire, client, &val);
+ if (status != Success) {
free(name);
- return BadAlloc;
+ return status;
}
if (XkbAddGeomProperty(geom, name, val) == NULL) {
free(name);
@@ -5346,9 +5360,9 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSe
for (i = 0; i < req->nColors; i++) {
char *name;
- name = _GetCountedString(&wire, client->swapped);
- if (!name)
- return BadAlloc;
+ status = _GetCountedString(&wire, client, &name);
+ if (status != Success)
+ return status;
if (!XkbAddGeomColor(geom, name, geom->num_colors)) {
free(name);
return BadAlloc;
++++++ index.vnc ++++++
<!--
index.vnc - default HTML page for TigerVNC Java viewer applet, to be
used with Xvnc. On any file ending in .vnc, the HTTP server embedded in
Xvnc will substitute the following variables when preceded by a dollar:
USER, DESKTOP, DISPLAY, APPLETWIDTH, APPLETHEIGHT, WIDTH, HEIGHT, PORT,
Use two dollar signs ($$) to get a dollar sign in the generated
HTML page.
-->
<HTML>
<TITLE>
$USER's $DESKTOP desktop ($DISPLAY)
</TITLE>
<APPLET CODE="com.tigervnc.vncviewer.VncViewer" ARCHIVE="VncViewer.jar" WIDTH="$APPLETWIDTH" HEIGHT="$APPLETHEIGHT">
<PARAM NAME="Port" VALUE="$PORT">
<PARAM NAME="Embed" VALUE="true">
<PARAM NAME="AlwaysShowServerDialog" VALUE="false">
</APPLET>
<BR>
<A href="http://www.tigervnc.org/">TigerVNC site</A>
</HTML>
++++++ n_tigervnc-date-time.patch ++++++
Index: tigervnc-1.4.1/unix/xserver/hw/vnc/buildtime.c
===================================================================
--- tigervnc-1.4.1.orig/unix/xserver/hw/vnc/buildtime.c
+++ tigervnc-1.4.1/unix/xserver/hw/vnc/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.4.1/unix/vncconfig/buildtime.c
===================================================================
--- tigervnc-1.4.1.orig/unix/vncconfig/buildtime.c
+++ tigervnc-1.4.1/unix/vncconfig/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.4.1/unix/x0vncserver/buildtime.c
===================================================================
--- tigervnc-1.4.1.orig/unix/x0vncserver/buildtime.c
+++ tigervnc-1.4.1/unix/x0vncserver/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.4.1/win/winvnc/buildTime.cxx
===================================================================
--- tigervnc-1.4.1.orig/win/winvnc/buildTime.cxx
+++ tigervnc-1.4.1/win/winvnc/buildTime.cxx
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
Index: tigervnc-1.4.1/CMakeLists.txt
===================================================================
--- tigervnc-1.4.1.orig/CMakeLists.txt
+++ tigervnc-1.4.1/CMakeLists.txt
@@ -39,8 +39,7 @@ if(MSVC)
message(FATAL_ERROR "TigerVNC cannot be built with Visual Studio. Please use MinGW")
endif()
-set(BUILD_TIMESTAMP "")
-execute_process(COMMAND "date" "+%Y-%m-%d %H:%M" OUTPUT_VARIABLE BUILD_TIMESTAMP)
+set(BUILD_TIMESTAMP "??-??-?? ??:??")
if(NOT BUILD_TIMESTAMP)
set(BUILD_TIMESTAMP "")
++++++ n_tigervnc-dont-build-gtf.patch ++++++
diff -ur xorg-server-1.13.0.orig/configure.ac xorg-server-1.13.0/configure.ac
--- xorg-server-1.13.0.orig/configure.ac 2012-09-06 00:45:08.000000000 +0300
+++ xorg-server-1.13.0/configure.ac 2013-12-16 13:50:39.880775219 +0200
@@ -2268,7 +2268,6 @@
hw/xfree86/utils/Makefile
hw/xfree86/utils/man/Makefile
hw/xfree86/utils/cvt/Makefile
-hw/xfree86/utils/gtf/Makefile
hw/dmx/config/Makefile
hw/dmx/config/man/Makefile
hw/dmx/doc/Makefile
diff -ur xorg-server-1.13.0.orig/hw/xfree86/modes/Makefile.am xorg-server-1.13.0/hw/xfree86/modes/Makefile.am
--- xorg-server-1.13.0.orig/hw/xfree86/modes/Makefile.am 2012-09-06 00:45:08.000000000 +0300
+++ xorg-server-1.13.0/hw/xfree86/modes/Makefile.am 2013-12-16 13:46:37.130679730 +0200
@@ -9,7 +9,6 @@
xf86Crtc.h \
xf86Cursors.c \
xf86cvt.c \
- xf86gtf.c \
xf86DisplayIDModes.c \
xf86EdidModes.c \
xf86Modes.c \
Only in xorg-server-1.13.0.orig/hw/xfree86/modes: xf86gtf.c
Only in xorg-server-1.13.0.orig/hw/xfree86/utils: gtf
diff -ur xorg-server-1.13.0.orig/hw/xfree86/utils/Makefile.am xorg-server-1.13.0/hw/xfree86/utils/Makefile.am
--- xorg-server-1.13.0.orig/hw/xfree86/utils/Makefile.am 2012-09-06 00:45:08.000000000 +0300
+++ xorg-server-1.13.0/hw/xfree86/utils/Makefile.am 2013-12-16 13:46:24.175393782 +0200
@@ -1,4 +1,3 @@
SUBDIRS = \
- gtf \
cvt \
man
++++++ n_tigervnc_Revert_Attempt_to_handle_Ctrl-key.patch ++++++
>From 5e6450db2c0ecdf458b09a53e9fbcce7f4ab408f Mon Sep 17 00:00:00 2001
From: Michal Srb <michalsrb(a)gmail.com>
Date: Mon, 2 Feb 2015 09:12:12 +0200
Subject: [PATCH] Revert "Attempt to handle Ctrl+key"
This reverts commit 13a809a6baca9572ab4a9cb992121fbc4e4ffba6.
---
vncviewer/Viewport.cxx | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
Index: tigervnc-1.4.1/vncviewer/Viewport.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/Viewport.cxx
+++ tigervnc-1.4.1/vncviewer/Viewport.cxx
@@ -31,7 +31,6 @@
// FLTK can pull in the X11 headers on some systems
#ifndef XK_VoidSymbol
-#define XK_LATIN1
#define XK_MISCELLANY
#define XK_XKB_KEYS
#include <rfb/keysymdef.h>
@@ -1010,25 +1009,10 @@ rdr::U32 Viewport::translateKeyEvent(voi
}
// Unknown special key?
- if (keyTextLen == 0) {
+ if (keyText[0] == '\0') {
return keyCode;
}
- // Control character?
- if ((keyTextLen == 1) && ((keyText[0] < 0x20) | (keyText[0] == 0x7f))) {
- if (keyText[0] == 0x00)
- return XK_2;
- else if (keyText[0] < 0x1b) {
- if (!!Fl::event_state(FL_SHIFT) != !!Fl::event_state(FL_CAPS_LOCK))
- return keyText[0] + XK_A - 0x01;
- else
- return keyText[0] + XK_a - 0x01;
- } else if (keyText[0] < 0x20)
- return keyText[0] + XK_3 - 0x1b;
- else
- return XK_8;
- }
-
// Look up the symbol the key produces and translate that from Unicode
// to a X11 keysym.
if (fl_utf_nb_char((const unsigned char*)keyText, strlen(keyText)) != 1) {
++++++ tigervnc-clean-pressed-key-on-exit.patch ++++++
Index: tigervnc-1.4.1/vncviewer/DesktopWindow.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/DesktopWindow.cxx
+++ tigervnc-1.4.1/vncviewer/DesktopWindow.cxx
@@ -188,6 +188,8 @@ DesktopWindow::~DesktopWindow()
OptionsDialog::removeCallback(handleOptions);
+ delete viewport;
+
// FLTK automatically deletes all child widgets, so we shouldn't touch
// them ourselves here
}
Index: tigervnc-1.4.1/vncviewer/Viewport.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/Viewport.cxx
+++ tigervnc-1.4.1/vncviewer/Viewport.cxx
@@ -144,6 +144,11 @@ Viewport::Viewport(int w, int h, const r
Viewport::~Viewport()
{
+ // Send release for every pressed key
+ for(DownMap::iterator iter = downKeySym.begin(); iter != downKeySym.end(); ++iter) {
+ cc->writer()->keyEvent(iter->second, false);
+ }
+
// Unregister all timeouts in case they get a change tro trigger
// again later when this object is already gone.
Fl::remove_timeout(handlePointerTimeout, this);
Index: tigervnc-1.4.1/vncviewer/vncviewer.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/vncviewer.cxx
+++ tigervnc-1.4.1/vncviewer/vncviewer.cxx
@@ -88,6 +88,8 @@ char vncServerName[VNCSERVERNAMELEN] = {
static bool exitMainloop = false;
static const char *exitError = NULL;
+static CConn *cc;
+
void exit_vncviewer(const char *error)
{
// Prioritise the first error we get as that is probably the most
@@ -114,6 +116,16 @@ static void CleanupSignalHandler(int sig
// CleanupSignalHandler allows C++ object cleanup to happen because it calls
// exit() rather than the default which is to abort.
vlog.info(_("CleanupSignalHandler called"));
+ delete cc;
+ exit(1);
+}
+
+static int CleanupXIOErrorHandler(Display *dpy)
+{
+ // CleanupSignalHandler allows C++ object cleanup to happen because it calls
+ // exit() rather than the default which is to abort.
+ vlog.info("XErrorHandler called");
+ delete cc;
exit(1);
}
@@ -392,11 +404,19 @@ int main(int argc, char** argv)
init_fltk();
+ fl_open_display();
+
+ XSetIOErrorHandler(CleanupXIOErrorHandler);
+
#if !defined(WIN32) && !defined(__APPLE__)
fl_open_display();
XkbSetDetectableAutoRepeat(fl_display, True, NULL);
#endif
+ fl_open_display();
+
+ XSetIOErrorHandler(CleanupXIOErrorHandler);
+
Configuration::enableViewerParams();
/* Load the default parameter settings */
@@ -497,7 +517,7 @@ int main(int argc, char** argv)
#endif
}
- CConn *cc = new CConn(vncServerName, sock);
+ cc = new CConn(vncServerName, sock);
while (!exitMainloop) {
int next_timer;
++++++ tigervnc-newfbsize.patch ++++++
Index: tigervnc-1.4.1/vncviewer/CConn.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/CConn.cxx
+++ tigervnc-1.4.1/vncviewer/CConn.cxx
@@ -424,6 +424,8 @@ void CConn::dataRect(const Rect& r, int
if (encoding != encodingCopyRect)
lastServerEncoding = encoding;
+ if (encoding == pseudoEncodingDesktopSize)
+ setDesktopSize( r.width(), r.height() );
if (!Decoder::supported(encoding)) {
vlog.error(_("Unknown rect encoding %d"), encoding);
++++++ tigervnc-sf3495623.patch ++++++
diff -ur tigervnc-1.3.0.orig/common/network/TcpSocket.cxx tigervnc-1.3.0/common/network/TcpSocket.cxx
--- tigervnc-1.3.0.orig/common/network/TcpSocket.cxx 2014-02-07 16:35:24.644388330 +0200
+++ tigervnc-1.3.0/common/network/TcpSocket.cxx 2014-02-07 16:39:50.608078320 +0200
@@ -31,6 +31,7 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
+#include <limits.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netdb.h>
@@ -450,7 +451,10 @@
}
void TcpListener::getMyAddresses(std::list<char*>* result) {
- const hostent* addrs = gethostbyname(0);
+ char hostname[HOST_NAME_MAX];
+ if (gethostname(hostname, HOST_NAME_MAX) < 0)
+ throw rdr::SystemException("gethostname", errorNumber);
+ const hostent* addrs = gethostbyname(hostname);
if (addrs == 0)
throw rdr::SystemException("gethostbyname", errorNumber);
if (addrs->h_addrtype != AF_INET)
++++++ u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch ++++++
From: Egbert Eich <eich(a)hammer45.arch.suse.de>
Date: Fri May 30 19:08:00 2014 -0400
Subject: [PATCH]render: Cast color masks to unsigned long before shifting them
Patch-mainline: to be upstreamed
Git-commit: 6ec9a78f9b79668239c3a1519d715cbecf186cef
Git-repo:
References: bnc#876757
Signed-off-by: Egbert Eich <eich(a)suse.com>
The color masks in DirectFormatRec are CARD16. Shifting them may lead
to unexpected results. Cast them to unsigned long to make sure the
shifted value will still fit into that type.
Signed-off-by: Egbert Eich <eich(a)suse.de>
---
render/picture.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/render/picture.c b/render/picture.c
index 2908b76..74369de 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -548,12 +548,12 @@ PictureMatchVisual(ScreenPtr pScreen, int depth, VisualPtr pVisual)
return format;
}
else {
- if (format->direct.redMask << format->direct.red ==
- pVisual->redMask &&
- format->direct.greenMask << format->direct.green ==
- pVisual->greenMask &&
- format->direct.blueMask << format->direct.blue ==
- pVisual->blueMask) {
+ if (((unsigned long)format->direct.redMask) <<
+ format->direct.red == pVisual->redMask &&
+ ((unsigned long)format->direct.greenMask) <<
+ format->direct.green == pVisual->greenMask &&
+ ((unsigned long)format->direct.blueMask) <<
+ format->direct.blue == pVisual->blueMask) {
return format;
}
}
++++++ u_terminate_instead_of_ignoring_restart.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Terminate instead of ignoring reset
Patch-Mainline: To be upstreamed
References: bnc#920969
Index: tigervnc-1.3.0/unix/xserver/hw/vnc/xvnc.cc
===================================================================
--- tigervnc-1.3.0.orig/unix/xserver/hw/vnc/xvnc.cc
+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xvnc.cc
@@ -1607,7 +1607,12 @@ vfbScreenInit(ScreenPtr pScreen, int arg
static void vfbClientStateChange(CallbackListPtr*, void *, void *) {
- dispatchException &= ~DE_RESET;
+ if (dispatchException & DE_RESET) {
+ ErrorF("Warning: VNC extension does not support -reset, terminating instead. Use -noreset to prevent termination.\n");
+
+ dispatchException |= DE_TERMINATE;
+ dispatchException &= ~DE_RESET;
+ }
}
#if XORG >= 113
++++++ u_tigervnc-dont-send-ascii-control-characters.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Do not send ascii control characters for CTRL+[A-Z] combinations.
Patch-Mainline: To be upstreamed
References: bnc#864666
Index: vncviewer/Viewport.cxx
===================================================================
--- vncviewer/Viewport.cxx.orig
+++ vncviewer/Viewport.cxx
@@ -1044,7 +1044,13 @@ rdr::U32 Viewport::translateKeyEvent(voi
return NoSymbol;
}
- ucs = fl_utf8decode(keyText, NULL, NULL);
+ if (keyCode >= 'a' && keyCode <= 'z' && keyText[0] < 0x20) {
+ // Do not send ascii control characters - send the original key combination that caused them.
+ ucs = keyCode;
+ } else {
+ ucs = fl_utf8decode(keyText, NULL, NULL);
+ }
+
return ucs2keysym(ucs);
}
++++++ u_tigervnc-ignore-epipe-on-write.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Ignore EPIPE on write.
Patch-Mainline: To be upstreamed
References: bnc#864676
If the VNC server closes connection after our last read and before this write, we will report error message about EPIPE.
This situation is no error, however, we should quit normally same as when we find out that connection was closed during read.
Index: common/rdr/FdOutStream.cxx
===================================================================
--- common/rdr/FdOutStream.cxx (revision 5178)
+++ common/rdr/FdOutStream.cxx (working copy)
@@ -225,7 +225,12 @@
// network connections. Should in fact never ever happen...
} while (n < 0 && (errno == EWOULDBLOCK));
- if (n < 0) throw SystemException("write",errno);
+ if (n < 0) {
+ if(errno == EPIPE)
+ n = length; // Ignore EPIPE and fake successfull write, it doesn't matter that we are writing to closed socket, we will find out once we try to read from it.
+ else
+ throw SystemException("write", errno);
+ }
gettimeofday(&lastWrite, NULL);
++++++ u_tigervnc-send-special-keys-directly.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Send special keys directly to server.
Patch-Mainline: To be upstreamed
References: bnc#906922
Any key that doesn't have textual interpretation should be forwarded to server.
Index: tigervnc-1.4.1/vncviewer/Viewport.cxx
===================================================================
--- tigervnc-1.4.1.orig/vncviewer/Viewport.cxx
+++ tigervnc-1.4.1/vncviewer/Viewport.cxx
@@ -1007,18 +1007,11 @@ rdr::U32 Viewport::translateKeyEvent(voi
case FL_Favorites:
return XF86XK_Favorites;
#endif
- case XK_ISO_Level3_Shift:
- // FLTK tends to let this one leak through on X11...
- return XK_ISO_Level3_Shift;
- case XK_Multi_key:
- // Same for this...
- return XK_Multi_key;
}
// Unknown special key?
if (keyTextLen == 0) {
- vlog.error(_("Unknown FLTK key code %d (0x%04x)"), keyCode, keyCode);
- return NoSymbol;
+ return keyCode;
}
// Control character?
++++++ u_tigervnc-use_preferred_mode.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Use preferred mode.
Patch-Mainline: To be upstreamed
References: bnc#896540
If there is any resolution specified with -geometry or -screen parameters,
report this resolution as preferred one. That way desktop environments won't
change it immediately after start.
Index: unix/xserver/hw/vnc/xvnc.cc
===================================================================
--- unix/xserver/hw/vnc/xvnc.cc (revision 5186)
+++ unix/xserver/hw/vnc/xvnc.cc (working copy)
@@ -1319,12 +1319,22 @@
/* Make sure the CRTC has this output set */
vncRandRCrtcSet(pScreen, crtc, NULL, 0, 0, RR_Rotate_0, 1, &output);
- /* Populate a list of default modes */
- RRModePtr modes[sizeof(vncRandRWidths)/sizeof(*vncRandRWidths)];
- int num_modes;
+ /* Populate a list of modes */
+ RRModePtr modes[sizeof(vncRandRWidths)/sizeof(*vncRandRWidths) + 1];
+ int num_modes = 0;
- num_modes = 0;
+ /* Start with requested mode */
+ mode = vncRandRModeGet(pScreen->width, pScreen->height);
+ if(mode != NULL) {
+ modes[num_modes] = mode;
+ num_modes++;
+ }
+
+ /* Add default modes */
for (int i = 0;i < sizeof(vncRandRWidths)/sizeof(*vncRandRWidths);i++) {
+ if (vncRandRWidths[i] == pScreen->width && vncRandRHeights[i] == pScreen->height)
+ continue;
+
mode = vncRandRModeGet(vncRandRWidths[i], vncRandRHeights[i]);
if (mode != NULL) {
modes[num_modes] = mode;
@@ -1332,7 +1342,7 @@
}
}
- RROutputSetModes(output, modes, num_modes, 0);
+ RROutputSetModes(output, modes, num_modes, 1);
return crtc;
}
++++++ u_xorg-server-xdmcp.patch ++++++
Author: Reinhard Max <max(a)suse.de>
XDMCP: For IPv6 add IPv6 link local addresses to the end of the list
For IPv6 add a link local addresses to the end of the list passed to
the XDMCP servers.
Reason: for link local addresses the XDMCP server would need to either
know the interface thru a scope identifier or try all available interfaces.
If they don't this address will fail in which case the XDMCP server
could still try the other addresses passed - however some only try
the first address and then give up.
Even if this seems to be the wrong place to fix this it seems to be
easier than fixing all display servers.
Index: xorg-server-1.12.1/os/access.c
===================================================================
--- xorg-server-1.12.1.orig/os/access.c
+++ xorg-server-1.12.1/os/access.c
@@ -714,7 +714,9 @@ DefineSelf(int fd)
/*
* ignore 'localhost' entries as they're not useful
- * on the other end of the wire
+ * on the other end of the wire and because on hosts
+ * with shared home dirs they'll result in conflicting
+ * entries in ~/.Xauthority
*/
if (ifr->ifa_flags & IFF_LOOPBACK)
continue;
@@ -735,6 +737,14 @@ DefineSelf(int fd)
else if (family == FamilyInternet6 &&
IN6_IS_ADDR_LOOPBACK((struct in6_addr *) addr))
continue;
+
+ /* Ignore IPv6 link local addresses (fe80::/10), because
+ * they need a scope identifier, which we have no way
+ * of telling to the other end.
+ */
+ if (family == FamilyInternet6 &&
+ IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)addr))
+ continue;
#endif
XdmcpRegisterConnection(family, (char *) addr, len);
#if defined(IPv6) && defined(AF_INET6)
++++++ vnc-httpd.firewall ++++++
## Name: VNC mini-HTTP server
## Description: Opens the VNC HTTP ports so that browsers can connect.
TCP="5800:5899"
++++++ vnc-server.firewall ++++++
## Name: VNC
## Description: Opens VNC server ports so that viewers can connect.
TCP="5900:5999"
++++++ vnc.reg ++++++
#############################################################################
#
# OpenSLP registration file
#
# register VNC remote logins via kdm
# You need also to allow remote logins
#
#############################################################################
# Register VNC service for krdc (KDE VNC client in kdenetwork)
service:remotedesktop.kde:vnc://$HOSTNAME:5901,en,65535
tcp-port=5901
description=VNC remote login [1024x768]
# Register VNC service for krdc (KDE VNC client in kdenetwork)
service:remotedesktop.kde:vnc://$HOSTNAME:5902,en,65535
tcp-port=5902
description=VNC remote login [1280x1024]
# Register VNC service for krdc (KDE VNC client in kdenetwork)
service:remotedesktop.kde:vnc://$HOSTNAME:5903,en,65535
tcp-port=5903
description=VNC remote login [1600x1200]
# Register VNC service for Java clients
# Can be used with every Web browser with enabled Java
service:remotedesktop.java:http://$HOSTNAME:5801,en,65535
tcp-port=5801
description=VNC remote login [1024x768]
# Register VNC service for Java clients
# Can be used with every Web browser with enabled Java
service:remotedesktop.java:http://$HOSTNAME:5802,en,65535
tcp-port=5802
description=VNC remote login [1280x1024]
# Register VNC service for Java clients
# Can be used with every Web browser with enabled Java
service:remotedesktop.java:http://$HOSTNAME:5803,en,65535
tcp-port=5803
description=VNC remote login [1600x1200]
++++++ vnc.xinetd ++++++
# default: off
# description: This serves out a VNC connection which starts at a KDM login \
# prompt. This VNC connection has a resolution of 1024x768, 16bit depth.
service vnc1
{
type = UNLISTED
port = 5901
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -noreset -inetd -once -query localhost -geometry 1024x768 -securitytypes none
disable = yes
}
# default: off
# description: This serves out a VNC connection which starts at a KDM login \
# prompt. This VNC connection has a resolution of 1280x1024, 16bit depth.
service vnc2
{
type = UNLISTED
port = 5902
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -noreset -inetd -once -query localhost -geometry 1280x1024 -securitytypes none
disable = yes
}
# default: off
# description: This serves out a VNC connection which starts at a KDM login \
# prompt. This VNC connection has a resolution of 1600x1200, 16bit depth.
service vnc3
{
type = UNLISTED
port = 5903
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -noreset -inetd -once -query localhost -geometry 1600x1200 -securitytypes none
disable = yes
}
# default: off
# description: This serves out the vncviewer Java applet for the VNC \
# server running on port 5901, (vnc port 1).
service vnchttpd1
{
type = UNLISTED
port = 5801
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/vnc_inetd_httpd
server_args = 1024 768 5901
disable = yes
}
# default: off
# description: This serves out the vncviewer Java applet for the VNC \
# server running on port 5902, (vnc port 2).
service vnchttpd2
{
type = UNLISTED
port = 5802
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/vnc_inetd_httpd
server_args = 1280 1024 5902
disable = yes
}
# default: off
# description: This serves out the vncviewer Java applet for the VNC \
# server running on port 5902, (vnc port 3).
service vnchttpd3
{
type = UNLISTED
port = 5803
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/vnc_inetd_httpd
server_args = 1600 1200 5903
disable = yes
}
++++++ vnc_inetd_httpd ++++++
#!/bin/bash
read request url httptype || exit 0
url="${url/
/}"
httptype="${httptype/
/}"
width=$1
height=$2
port=$3
if [ "x$httptype" != "x" ]; then
line="x"
while [ -n "$line" ]; do
read line || exit 0
line="${line/
/}"
done
fi
case "$url" in
/)
# We need the size of the display for the current applet.
# The VNC menubar is 20 pixels high ...
height=$((height+20))
ctype="text/html"
content="
<HTML><HEAD><TITLE>Remote Desktop</TITLE></HEAD>
<BODY>
<APPLET CODE=\"com.tigervnc.vncviewer.VncViewer\" ARCHIVE=\"VncViewer.jar\" WIDTH=\"$width\" HEIGHT=\"$height\">
<PARAM name=\"Port\" value=\"$port\">
<param name=\"Embed\" value=\"true\">
<param name=\"AlwaysShowServerDialog\" value=\"false\">
</APPLET>
</BODY></HTML>"
;;
*.jar|*.class)
# Use basename to make sure we have just a filename, not ../../...
url=${url/.*\/}
ctype="application/octet-stream"
cfile="/usr/share/vnc/classes/$url"
content="FILE"
;;
esac
if [ "x$httptype" != "x" ]; then
echo "HTTP/1.0 200 OK"
echo "Content-Type: $ctype"
if [ "$content" == "FILE" ]; then
clen=`wc -c "$cfile"`
else
clen=`echo "$content"|wc -c`
fi
echo "Content-Length: $clen"
echo "Connection: close"
echo
fi
if [ "$request" == "GET" ]; then
if [ "$content" == "FILE" ]; then
cat "$cfile"
else
echo "$content"
fi
fi
exit 0
++++++ vncpasswd.arg ++++++
#!/bin/sh
# Compatibility replacement for vncpasswd.arg.
if [ $# -ne 2 ]; then
echo "Usage: $0 file password"
exit 1
fi
echo "$2" | vncpasswd -f > "$1"
1
0
Hello community,
here is the log from the commit of package tigervnc for openSUSE:13.2:Update checked in at 2015-09-11 08:29:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/tigervnc (Old)
and /work/SRC/openSUSE:13.2:Update/.tigervnc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tigervnc"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.NROq5z/_old 2015-09-11 08:29:56.000000000 +0200
+++ /var/tmp/diff_new_pack.NROq5z/_new 2015-09-11 08:29:56.000000000 +0200
@@ -1 +1 @@
-<link package='tigervnc.3756' cicount='copy' />
+<link package='tigervnc.3993' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package digikam for openSUSE:13.2:Update checked in at 2015-09-11 08:29:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/digikam (Old)
and /work/SRC/openSUSE:13.2:Update/.digikam.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "digikam"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.oCs6ag/_old 2015-09-11 08:29:40.000000000 +0200
+++ /var/tmp/diff_new_pack.oCs6ag/_new 2015-09-11 08:29:40.000000000 +0200
@@ -1 +1 @@
-<link package='digikam.3415' cicount='copy' />
+<link package='digikam.3955' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package libguestfs for openSUSE:Factory checked in at 2015-09-09 20:21:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libguestfs (Old)
and /work/SRC/openSUSE:Factory/.libguestfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libguestfs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libguestfs/libguestfs.changes 2015-08-10 09:16:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libguestfs.new/libguestfs.changes 2015-09-09 20:21:36.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Sep 9 12:50:11 UTC 2015 - cbosdonnat(a)suse.com
+
+- Define SHA512 as the default password encryption method for
+ opensuse 11+.
+
+-------------------------------------------------------------------
+Mon Sep 7 13:39:57 UTC 2015 - cbosdonnat(a)suse.com
+
+- Add opensuse images source for virt-builder.
+ fate#318952.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libguestfs.spec ++++++
--- /var/tmp/diff_new_pack.48FD9P/_old 2015-09-09 20:21:37.000000000 +0200
+++ /var/tmp/diff_new_pack.48FD9P/_new 2015-09-09 20:21:37.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libguestfs
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 Michal Hrusecky <mhrusecky(a)novell.com>
#
# All modifications and additions to the file contributed by third parties
++++++ 0000-hotfix.patch ++++++
--- /var/tmp/diff_new_pack.48FD9P/_old 2015-09-09 20:21:37.000000000 +0200
+++ /var/tmp/diff_new_pack.48FD9P/_new 2015-09-09 20:21:37.000000000 +0200
@@ -9,18 +9,17 @@
1 file changed, 1 insertion(+)
create mode 100644 pkg-hotfix.txt
-diff --git a/pkg-hotfix.txt b/pkg-hotfix.txt
-new file mode 100644
-index 0000000..8b13789
+Index: libguestfs-1.26.10/pkg-hotfix.txt
+===================================================================
--- /dev/null
-+++ b/pkg-hotfix.txt
++++ libguestfs-1.26.10/pkg-hotfix.txt
@@ -0,0 +1 @@
+
-diff --git a/daemon/btrfs.c b/daemon/btrfs.c
-index 7a4d43d..ceea593 100644
---- a/daemon/btrfs.c
-+++ b/daemon/btrfs.c
-@@ -356,6 +356,7 @@ do_btrfs_subvolume_list (const mountable_t *fs)
+Index: libguestfs-1.26.10/daemon/btrfs.c
+===================================================================
+--- libguestfs-1.26.10.orig/daemon/btrfs.c
++++ libguestfs-1.26.10/daemon/btrfs.c
+@@ -356,6 +356,7 @@ do_btrfs_subvolume_list (const mountable
ADD_ARG (argv, i, str_btrfs);
ADD_ARG (argv, i, "subvolume");
ADD_ARG (argv, i, "list");
@@ -47,3 +46,111 @@
| "unknown" ->
eprintf (f_"%s: --install is not supported for this guest operating system\n")
prog;
+Index: libguestfs-1.26.10/builder/downloader.ml
+===================================================================
+--- libguestfs-1.26.10.orig/builder/downloader.ml
++++ libguestfs-1.26.10/builder/downloader.ml
+@@ -97,7 +97,7 @@ and download_to ~prog t ?(progress_bar =
+ )
+ | _ -> (* Any other protocol. *)
+ (* Get the status code first to ensure the file exists. *)
+- let cmd = sprintf "%s%s -g -o /dev/null -I -w '%%{http_code}' %s"
++ let cmd = sprintf "%s%s -L --max-redirs 5 -g -o /dev/null -I -w '%%{http_code}' %s"
+ t.curl
+ (if t.verbose then "" else " -s -S")
+ (quote uri) in
+@@ -122,7 +122,7 @@ and download_to ~prog t ?(progress_bar =
+ );
+
+ (* Now download the file. *)
+- let cmd = sprintf "%s%s -g -o %s %s"
++ let cmd = sprintf "%s%s -L --max-redirs 5 -g -o %s %s"
+ t.curl
+ (if t.verbose then "" else if progress_bar then " -#" else " -s -S")
+ (quote filename_new) (quote uri) in
+Index: libguestfs-1.26.10/builder/Makefile.am
+===================================================================
+--- libguestfs-1.26.10.orig/builder/Makefile.am
++++ libguestfs-1.26.10/builder/Makefile.am
+@@ -261,7 +261,7 @@ DISTCLEANFILES = .depend
+ # virt-builder's default repository
+
+ repoconfdir = $(sysconfdir)/xdg/virt-builder/repos.d
+-repoconf_DATA = libguestfs.conf libguestfs.gpg
++repoconf_DATA = libguestfs.conf libguestfs.gpg opensuse.conf opensuse.gpg
+
+ install-exec-hook:
+ $(LN_S) xdg/virt-builder $(DESTDIR)$(sysconfdir)/virt-builder
+Index: libguestfs-1.26.10/builder/Makefile.in
+===================================================================
+--- libguestfs-1.26.10.orig/builder/Makefile.in
++++ libguestfs-1.26.10/builder/Makefile.in
+@@ -1649,7 +1649,7 @@ DISTCLEANFILES = .depend
+
+ # virt-builder's default repository
+ repoconfdir = $(sysconfdir)/xdg/virt-builder/repos.d
+-repoconf_DATA = libguestfs.conf libguestfs.gpg
++repoconf_DATA = libguestfs.conf libguestfs.gpg opensuse.conf opensuse.gpg
+ virt_index_validate_SOURCES = \
+ index-parse.y \
+ index-scan.l \
+Index: libguestfs-1.26.10/builder/opensuse.conf.in
+===================================================================
+--- /dev/null
++++ libguestfs-1.26.10/builder/opensuse.conf.in
+@@ -0,0 +1,3 @@
++[opensuse.org]
++uri=http://download.opensuse.org/repositories/Virtualization:/virt-builder-images/images/index
++gpgkey=file://@SYSCONFDIR@/xdg/virt-builder/repos.d/opensuse.gpg
+Index: libguestfs-1.26.10/builder/opensuse.gpg
+===================================================================
+--- /dev/null
++++ libguestfs-1.26.10/builder/opensuse.gpg
+@@ -0,0 +1,21 @@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++Version: GnuPG v1.4.5 (GNU/Linux)
++
++mQENBFImAl0BCACkjaXGvVLHBGTVXVP0khtpUVHqFvCRtaIIMHaX/5oTr3nyehDQ
++Ex9VLsSRcNa0QxtnCHFRQzjWWqe+i6pBginnSjucgmjnIKyJsF4l6R+rwAiinHQX
++C4s6Lqg/wH9xDPRBrMYFqlc/7MVf0Glhk1+lAxgQjolMt+5AbbrWlBbwc/i+++zl
++ES3MaeH8aiwup/ogjhmk0SbCQQ/ib21p3XWBwx2oz/KM6Voq9tKDvMczjzNRY3ZT
++6Di3FsUSKI7kgljiNiuN+675YwqEqxWEJgdE5a7Zb67giH1Ik08b5wQiF5jSAICD
++DxW7/ibWBvZJnqhqQT2xJpLC5VaJqwkN8o83ABEBAAG0PlZpcnR1YWxpemF0aW9u
++IE9CUyBQcm9qZWN0IDxWaXJ0dWFsaXphdGlvbkBidWlsZC5vcGVuc3VzZS5vcmc+
++iQE7BBMBAgAmBQJSJgJdAhsDBQkEHrAABgsJCAcDAgQVAggDBBYCAwECHgECF4AA
++CgkQoZP7tXIXT8ITnwf3SVUUoVjVLFCjhIxdet8BL011cJDwr9TwKEQfq4Ybsq5L
++5Y1/Zk86rTzrVOZrODLwNRIC3fMuegZV5f85KMggXu37Di+UvX+dQW9v1hte+hAT
+++gsqb60kOnE/Yacgkb6D3xIzRudAB2q/xfvHl/hgfn416yGI8NvntT7n4Hk9wT28
++9JSFkun0uaessg77aXlAdsqHwdugm9hELeva89OoYoiZ4d9r4ScTMSj0UkNgnh7g
++CyIScZHYqiiOeosUtAX9u1PyUFfFsg9s5snfud7aF48EfXU0RTtZAGKtG4GPDv3q
++bYc5TJ2pQzs9y5Bk/jAMR/QQw8CKglBsn1cjYkKViEYEExECAAYFAlImAl0ACgkQ
++OzARt2udZSO5yACgr6Ei7QZ+PAmg4Mr5db+4M3aepAEAniU33RaTKBCGkwQi6kHr
++4VaII2/E
++=l8DH
++-----END PGP PUBLIC KEY BLOCK-----
+Index: libguestfs-1.26.10/configure.ac
+===================================================================
+--- libguestfs-1.26.10.orig/configure.ac
++++ libguestfs-1.26.10/configure.ac
+@@ -1635,6 +1635,7 @@ AC_CONFIG_FILES([Makefile
+ bash/Makefile
+ builder/Makefile
+ builder/libguestfs.conf
++ builder/opensuse.conf
+ builder/test-config/virt-builder/repos.d/test-index.conf
+ builder/test-website/virt-builder/repos.d/libguestfs.conf
+ builder/website/Makefile
+Index: libguestfs-1.26.10/customize/password.ml
+===================================================================
+--- libguestfs-1.26.10.orig/customize/password.ml
++++ libguestfs-1.26.10/customize/password.ml
+@@ -166,6 +166,9 @@ and default_crypto ~prog g root =
+ | "ubuntu", v when v >= 10 -> `SHA512
+ | "ubuntu", _ -> `MD5
+
++ | "opensuse", v when v >= 11 -> `SHA512
++ | "opensuse", _ -> `MD5
++
+ | _, _ ->
+ warning ~prog (f_"password: using insecure md5 password encryption for
+ guest of type %s version %d.\nIf this is incorrect, use --password-crypto option and file a bug.") distro major;
1
0
Hello community,
here is the log from the commit of package uid_wrapper for openSUSE:Factory checked in at 2015-09-09 20:21:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/uid_wrapper (Old)
and /work/SRC/openSUSE:Factory/.uid_wrapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uid_wrapper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/uid_wrapper/uid_wrapper.changes 2015-07-03 00:22:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.uid_wrapper.new/uid_wrapper.changes 2015-09-09 20:21:34.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Sep 2 11:30:45 UTC 2015 - asn(a)cryptomilk.org
+
+- Update to version 1.1.1
+ * Fixed getres(uid|gid) detection if unsupported.
+ * Fixed the configure on Solaris
+ * Added a lot more tests
+
+-------------------------------------------------------------------
Old:
----
uid_wrapper-1.1.0.tar.gz
New:
----
uid_wrapper-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ uid_wrapper.spec ++++++
--- /var/tmp/diff_new_pack.B7k71S/_old 2015-09-09 20:21:34.000000000 +0200
+++ /var/tmp/diff_new_pack.B7k71S/_new 2015-09-09 20:21:34.000000000 +0200
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
############################# NOTE ##################################
#
# This is a special library. You are not able to link this library.
@@ -23,7 +24,7 @@
############################# NOTE ##################################
Name: uid_wrapper
-Version: 1.1.0
+Version: 1.1.1
Release: 0
Summary: A wrapper for privilege seperation
@@ -38,8 +39,8 @@
BuildRequires: libcmocka-devel
BuildRequires: pkg-config
-Requires: pkg-config
Requires: cmake
+Requires: pkg-config
%description
Some projects like a file server need privilege separation to be able to switch
++++++ uid_wrapper-1.1.0.tar.gz -> uid_wrapper-1.1.1.tar.gz ++++++
++++ 1614 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package socket_wrapper for openSUSE:Factory checked in at 2015-09-09 20:21:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/socket_wrapper (Old)
and /work/SRC/openSUSE:Factory/.socket_wrapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "socket_wrapper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/socket_wrapper/socket_wrapper.changes 2015-05-15 07:43:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.socket_wrapper.new/socket_wrapper.changes 2015-09-09 20:21:32.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Sep 2 11:53:38 UTC 2015 - asn(a)cryptomilk.org
+
+- Update to version 1.1.4
+ * Fixed handling of msg_name in recvmsg()
+ * Fixed sendmsg()/recvmsg() TCP support
+ * Fixed several compile warnings
+ * Added environment variable to change MTU
+
+-------------------------------------------------------------------
Old:
----
socket_wrapper-1.1.3.tar.gz
New:
----
socket_wrapper-1.1.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ socket_wrapper.spec ++++++
--- /var/tmp/diff_new_pack.ODzKqH/_old 2015-09-09 20:21:32.000000000 +0200
+++ /var/tmp/diff_new_pack.ODzKqH/_new 2015-09-09 20:21:32.000000000 +0200
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
############################# NOTE ##################################
#
# This is a special library. You are not able to link this library.
@@ -23,7 +24,7 @@
############################# NOTE ##################################
Name: socket_wrapper
-Version: 1.1.3
+Version: 1.1.4
Release: 0
Summary: A library passing all socket communications trough Unix sockets
License: BSD-3-Clause
@@ -36,8 +37,8 @@
BuildRequires: pkg-config
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Requires: pkg-config
Requires: cmake
+Requires: pkg-config
%description
socket_wrapper aims to help client/server software development teams willing to
++++++ socket_wrapper-1.1.3.tar.gz -> socket_wrapper-1.1.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/CMakeLists.txt new/socket_wrapper-1.1.4/CMakeLists.txt
--- old/socket_wrapper-1.1.3/CMakeLists.txt 2015-02-23 16:51:18.000000000 +0100
+++ new/socket_wrapper-1.1.4/CMakeLists.txt 2015-08-24 17:53:17.000000000 +0200
@@ -8,7 +8,7 @@
set(APPLICATION_VERSION_MAJOR "1")
set(APPLICATION_VERSION_MINOR "1")
-set(APPLICATION_VERSION_PATCH "3")
+set(APPLICATION_VERSION_PATCH "4")
set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
@@ -19,7 +19,7 @@
# Increment AGE. Set REVISION to 0
# If the source code was changed, but there were no interface changes:
# Increment REVISION.
-set(LIBRARY_VERSION "0.1.3")
+set(LIBRARY_VERSION "0.1.4")
set(LIBRARY_SOVERSION "0")
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/CTestConfig.cmake new/socket_wrapper-1.1.4/CTestConfig.cmake
--- old/socket_wrapper-1.1.3/CTestConfig.cmake 2013-12-04 18:20:43.000000000 +0100
+++ new/socket_wrapper-1.1.4/CTestConfig.cmake 2015-08-05 15:25:53.000000000 +0200
@@ -3,7 +3,7 @@
set(CTEST_PROJECT_NAME "socketwrapper")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
-set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_METHOD "https")
set(CTEST_DROP_SITE "mock.cryptomilk.org")
set(CTEST_DROP_LOCATION "/submit.php?project=socketwrapper")
set(CTEST_DROP_SITE_CDASH TRUE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/ChangeLog new/socket_wrapper-1.1.4/ChangeLog
--- old/socket_wrapper-1.1.3/ChangeLog 2015-02-23 16:51:06.000000000 +0100
+++ new/socket_wrapper-1.1.4/ChangeLog 2015-08-24 17:54:04.000000000 +0200
@@ -1,6 +1,12 @@
ChangeLog
==========
+version 1.1.4 (released 2015-08-25)
+ * Fixed handling of msg_name in recvmsg()
+ * Fixed sendmsg()/recvmsg() TCP support
+ * Fixed several compile warnings
+ * Added environment variable to change MTU
+
version 1.1.3 (released 2015-02-23)
* Added support for address sanitizer.
* Fixed leaking of memory and fds of stale sockets.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/TODO new/socket_wrapper-1.1.4/TODO
--- old/socket_wrapper-1.1.3/TODO 2014-08-27 15:06:21.000000000 +0200
+++ new/socket_wrapper-1.1.4/TODO 2015-08-05 15:25:53.000000000 +0200
@@ -9,13 +9,19 @@
Library:
---------
-* Add support for fd passing in sendmsg/recvmsg.
- Scenario:
- We accept a connection from a client and need to pass the fd to another
- child we forked. socket_wrapper then needs to send the 'struct socket_info'
- to the child first and set it up there.
- Or do it like swrap_accept() and call getpeername() and getsockname().
-* Add support for threading.
+Goals:
+* Thread safety
+* The proposed way ==> - fd-passing for tcp sockets (for free)
+ Approach:
+ - tdb "in small". So a "db file".
+ - for each socket an entry in the db file
+ (file, mmap, robust mutex. e.g. one file per local ip addr)
+ - socket_info : structure in db. protected by pthread robust mutexes
+ - socket_info_fd : --> pointer into mmap area of db
+ - free-list
+ - fd-passing: pass index in array
+ - the last element we pass is not a fd but the index number in the
+ mmaped file
* Use realpath() in socket_wrapper_dir().
Testing:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/doc/socket_wrapper.1 new/socket_wrapper-1.1.4/doc/socket_wrapper.1
--- old/socket_wrapper-1.1.3/doc/socket_wrapper.1 2014-08-27 15:06:21.000000000 +0200
+++ new/socket_wrapper-1.1.4/doc/socket_wrapper.1 2015-08-11 17:30:20.000000000 +0200
@@ -2,12 +2,12 @@
.\" Title: socket_wrapper
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 07/09/2014
+.\" Date: 2015-08-11
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "SOCKET_WRAPPER" "1" "07/09/2014" "\ \&" "\ \&"
+.TH "SOCKET_WRAPPER" "1" "2015\-08\-11" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -85,6 +85,13 @@
When debugging, it is often interesting to investigate the network traffic between the client and server within your application\&. If you define SOCKET_WRAPPER_PCAP_FILE=/path/to/file\&.pcap, socket_wrapper will dump all your network traffic to the specified file\&. After the test has been finished you\(cqre able to open the file for example with Wireshark\&.
.RE
.PP
+\fBSOCKET_WRAPPER_MTU\fR
+.RS 4
+With this variable you can change the MTU size\&. However we do not recomment to do that as the default size of 1500 byte is best for formatting PCAP files\&.
+.RE
+.sp
+The minimum value you can set is 512 and the maximum 32768\&.
+.PP
\fBSOCKET_WRAPPER_DEBUGLEVEL\fR
.RS 4
If you need to see what is going on in socket_wrapper itself or try to find a bug, you can enable logging support in socket_wrapper if you built it with debug symbols\&.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/doc/socket_wrapper.1.txt new/socket_wrapper-1.1.4/doc/socket_wrapper.1.txt
--- old/socket_wrapper-1.1.3/doc/socket_wrapper.1.txt 2014-09-04 11:16:51.000000000 +0200
+++ new/socket_wrapper-1.1.4/doc/socket_wrapper.1.txt 2015-08-18 11:27:16.000000000 +0200
@@ -1,5 +1,6 @@
socket_wrapper(1)
=================
+:revdate: 2015-08-11
NAME
----
@@ -51,6 +52,13 @@
network traffic to the specified file. After the test has been finished you're
able to open the file for example with Wireshark.
+*SOCKET_WRAPPER_MTU*::
+
+With this variable you can change the MTU size. However we do not recomment to
+do that as the default size of 1500 byte is best for formatting PCAP files.
+
+The minimum value you can set is 512 and the maximum 32768.
+
*SOCKET_WRAPPER_DEBUGLEVEL*::
If you need to see what is going on in socket_wrapper itself or try to find a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/src/socket_wrapper.c new/socket_wrapper-1.1.4/src/socket_wrapper.c
--- old/socket_wrapper-1.1.3/src/socket_wrapper.c 2015-02-23 15:24:45.000000000 +0100
+++ new/socket_wrapper-1.1.4/src/socket_wrapper.c 2015-08-17 12:21:00.000000000 +0200
@@ -203,11 +203,12 @@
#define SOCKET_TYPE_CHAR_UDP_V6 'Y'
/*
- * Cut down to 1500 byte packets for stream sockets,
- * which makes it easier to format PCAP capture files
- * (as the caller will simply continue from here)
+ * Set the packet MTU to 1500 bytes for stream sockets to make it it easier to
+ * format PCAP capture files (as the caller will simply continue from here).
*/
-#define SOCKET_MAX_PACKET 1500
+#define SOCKET_WRAPPER_MTU_DEFAULT 1500
+#define SOCKET_WRAPPER_MTU_MIN 512
+#define SOCKET_WRAPPER_MTU_MAX 32768
#define SOCKET_MAX_SOCKETS 1024
@@ -912,6 +913,38 @@
return s;
}
+static unsigned int socket_wrapper_mtu(void)
+{
+ static unsigned int max_mtu = 0;
+ unsigned int tmp;
+ const char *s;
+ char *endp;
+
+ if (max_mtu != 0) {
+ return max_mtu;
+ }
+
+ max_mtu = SOCKET_WRAPPER_MTU_DEFAULT;
+
+ s = getenv("SOCKET_WRAPPER_MTU");
+ if (s == NULL) {
+ goto done;
+ }
+
+ tmp = strtol(s, &endp, 10);
+ if (s == endp) {
+ goto done;
+ }
+
+ if (tmp < SOCKET_WRAPPER_MTU_MIN || tmp > SOCKET_WRAPPER_MTU_MAX) {
+ goto done;
+ }
+ max_mtu = tmp;
+
+done:
+ return max_mtu;
+}
+
bool socket_wrapper_enabled(void)
{
const char *s = socket_wrapper_dir();
@@ -3743,7 +3776,9 @@
}
switch (si->type) {
- case SOCK_STREAM:
+ case SOCK_STREAM: {
+ unsigned long mtu;
+
if (!si->connected) {
errno = ENOTCONN;
return -1;
@@ -3753,22 +3788,23 @@
break;
}
+ mtu = socket_wrapper_mtu();
for (i = 0; i < (size_t)msg->msg_iovlen; i++) {
size_t nlen;
nlen = len + msg->msg_iov[i].iov_len;
- if (nlen > SOCKET_MAX_PACKET) {
+ if (nlen > mtu) {
break;
}
}
msg->msg_iovlen = i;
if (msg->msg_iovlen == 0) {
*tmp_iov = msg->msg_iov[0];
- tmp_iov->iov_len = MIN(tmp_iov->iov_len, SOCKET_MAX_PACKET);
+ tmp_iov->iov_len = MIN(tmp_iov->iov_len, (size_t)mtu);
msg->msg_iov = tmp_iov;
msg->msg_iovlen = 1;
}
break;
-
+ }
case SOCK_DGRAM:
if (si->connected) {
if (msg->msg_name) {
@@ -3958,7 +3994,8 @@
(void)fd; /* unused */
switch (si->type) {
- case SOCK_STREAM:
+ case SOCK_STREAM: {
+ unsigned int mtu;
if (!si->connected) {
errno = ENOTCONN;
return -1;
@@ -3968,22 +4005,23 @@
break;
}
+ mtu = socket_wrapper_mtu();
for (i = 0; i < (size_t)msg->msg_iovlen; i++) {
size_t nlen;
nlen = len + msg->msg_iov[i].iov_len;
- if (nlen > SOCKET_MAX_PACKET) {
+ if (nlen > mtu) {
break;
}
}
msg->msg_iovlen = i;
if (msg->msg_iovlen == 0) {
*tmp_iov = msg->msg_iov[0];
- tmp_iov->iov_len = MIN(tmp_iov->iov_len, SOCKET_MAX_PACKET);
+ tmp_iov->iov_len = MIN(tmp_iov->iov_len, (size_t)mtu);
msg->msg_iov = tmp_iov;
msg->msg_iovlen = 1;
}
break;
-
+ }
case SOCK_DGRAM:
if (msg->msg_name == NULL) {
errno = EINVAL;
@@ -4051,6 +4089,19 @@
avail += msg->msg_iov[i].iov_len;
}
+ /* Convert the socket address before we leave */
+ if (si->type == SOCK_DGRAM && un_addr != NULL) {
+ rc = sockaddr_convert_from_un(si,
+ un_addr,
+ un_addrlen,
+ si->family,
+ msg->msg_name,
+ &msg->msg_namelen);
+ if (rc == -1) {
+ goto done;
+ }
+ }
+
if (avail == 0) {
rc = 0;
goto done;
@@ -4096,16 +4147,6 @@
}
if (un_addr != NULL) {
- rc = sockaddr_convert_from_un(si,
- un_addr,
- un_addrlen,
- si->family,
- msg->msg_name,
- &msg->msg_namelen);
- if (rc == -1) {
- goto done;
- }
-
swrap_pcap_dump_packet(si,
msg->msg_name,
SWRAP_RECVFROM,
@@ -4549,9 +4590,6 @@
ret = libc_recvmsg(s, &msg, flags);
- msg.msg_name = omsg->msg_name;
- msg.msg_namelen = omsg->msg_namelen;
-
#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL
msg_ctrllen_filled += msg.msg_controllen;
msg_ctrllen_left -= msg.msg_controllen;
@@ -4593,6 +4631,25 @@
#endif
omsg->msg_iovlen = msg.msg_iovlen;
+ /*
+ * From the manpage:
+ *
+ * The msg_name field points to a caller-allocated buffer that is
+ * used to return the source address if the socket is unconnected. The
+ * caller should set msg_namelen to the size of this buffer before this
+ * call; upon return from a successful call, msg_name will contain the
+ * length of the returned address. If the application does not need
+ * to know the source address, msg_name can be specified as NULL.
+ */
+ if (si->type == SOCK_STREAM) {
+ omsg->msg_namelen = 0;
+ } else if (omsg->msg_name != NULL &&
+ omsg->msg_namelen != 0 &&
+ omsg->msg_namelen >= msg.msg_namelen) {
+ memcpy(omsg->msg_name, msg.msg_name, msg.msg_namelen);
+ omsg->msg_namelen = msg.msg_namelen;
+ }
+
return ret;
}
@@ -4627,8 +4684,11 @@
tmp.iov_len = 0;
ZERO_STRUCT(msg);
- msg.msg_name = omsg->msg_name; /* optional address */
- msg.msg_namelen = omsg->msg_namelen; /* size of address */
+
+ if (si->connected == 0) {
+ msg.msg_name = omsg->msg_name; /* optional address */
+ msg.msg_namelen = omsg->msg_namelen; /* size of address */
+ }
msg.msg_iov = omsg->msg_iov; /* scatter/gather array */
msg.msg_iovlen = omsg->msg_iovlen; /* # elements in msg_iov */
#ifdef HAVE_STRUCT_MSGHDR_MSG_CONTROL
@@ -5071,4 +5131,11 @@
}
s = sockets;
}
+
+ if (swrap.libc_handle != NULL) {
+ dlclose(swrap.libc_handle);
+ }
+ if (swrap.libsocket_handle) {
+ dlclose(swrap.libsocket_handle);
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/CMakeLists.txt new/socket_wrapper-1.1.4/tests/CMakeLists.txt
--- old/socket_wrapper-1.1.3/tests/CMakeLists.txt 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/CMakeLists.txt 2015-08-11 17:30:20.000000000 +0200
@@ -24,6 +24,7 @@
test_echo_tcp_connect
test_echo_tcp_bind
test_echo_tcp_socket_options
+ test_echo_tcp_sendmsg_recvmsg
test_echo_tcp_write_read
test_echo_tcp_writev_readv
test_echo_tcp_get_peer_sock_name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_bind.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_bind.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_bind.c 2014-10-02 07:23:45.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_bind.c 2015-08-11 17:30:20.000000000 +0200
@@ -19,19 +19,25 @@
#include <rpc/rpc.h>
#endif
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
}
-static void setup_echo_srv_tcp_ipv6(void **state)
+static int setup_echo_srv_tcp_ipv6(void **state)
{
torture_setup_echo_srv_tcp_ipv6(state);
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_bind_ipv4(void **state)
@@ -492,39 +498,39 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_bind_ipv4,
+ const struct CMUnitTest tcp_bind_tests[] = {
+ cmocka_unit_test_setup_teardown(test_bind_ipv4,
setup_echo_srv_tcp_ipv4,
teardown),
#if 0 /* TODO */
- unit_test_setup_teardown(test_bind_ipv4_addr_in_use,
+ cmocka_unit_test_setup_teardown(test_bind_ipv4_addr_in_use,
setup_echo_srv_tcp_ipv4,
teardown),
#endif
#ifdef HAVE_BINDRESVPORT
- unit_test_setup_teardown(test_bindresvport_ipv4,
+ cmocka_unit_test_setup_teardown(test_bindresvport_ipv4,
setup_echo_srv_tcp_ipv4,
teardown),
- unit_test_setup_teardown(test_bindresvport_ipv4_null,
+ cmocka_unit_test_setup_teardown(test_bindresvport_ipv4_null,
setup_echo_srv_tcp_ipv4,
teardown),
#endif /* HAVE_BINDRESVPORT */
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_bind_on_ipv6_sock,
+ cmocka_unit_test_setup_teardown(test_bind_on_ipv6_sock,
setup_echo_srv_tcp_ipv6,
teardown),
#ifdef HAVE_BINDRESVPORT
- unit_test_setup_teardown(test_bindresvport_on_ipv6_sock,
+ cmocka_unit_test_setup_teardown(test_bindresvport_on_ipv6_sock,
setup_echo_srv_tcp_ipv6,
teardown),
- unit_test_setup_teardown(test_bindresvport_on_ipv6_sock_null,
+ cmocka_unit_test_setup_teardown(test_bindresvport_on_ipv6_sock_null,
setup_echo_srv_tcp_ipv6,
teardown),
#endif /* HAVE_BINDRESVPORT */
#endif /* HAVE_IPV6 */
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(tcp_bind_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_connect.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_connect.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_connect.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_connect.c 2015-08-17 12:21:00.000000000 +0200
@@ -15,14 +15,18 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_connect_broadcast_ipv4(void **state)
@@ -72,7 +76,7 @@
assert_int_equal(rc, 1);
/* Connect should downgrade to IPv4 and allow the connect */
- rc = connect(s, &addr.sa.in, addr.sa_socklen);
+ rc = connect(s, &addr.sa.s, addr.sa_socklen);
assert_int_equal(rc, 0);
close(s);
@@ -82,14 +86,16 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_connect_broadcast_ipv4, setup_echo_srv_tcp_ipv4, teardown),
+ const struct CMUnitTest tcp_connect_tests[] = {
+ cmocka_unit_test(test_connect_broadcast_ipv4),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_connect_downgrade_ipv6, setup_echo_srv_tcp_ipv4, teardown),
+ cmocka_unit_test(test_connect_downgrade_ipv6),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(tcp_connect_tests,
+ setup_echo_srv_tcp_ipv4,
+ teardown);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_get_peer_sock_name.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_get_peer_sock_name.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_get_peer_sock_name.c 2014-10-02 07:23:45.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_get_peer_sock_name.c 2015-08-17 12:21:00.000000000 +0200
@@ -15,15 +15,19 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
setenv("SOCKET_WRAPPER_DEFAULT_IFACE", "20", 1);
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void _assert_sockaddr_equal(struct torture_address *addr, const char *a,
@@ -409,7 +413,7 @@
assert_int_equal(rc, 1);
/* Connect */
- rc = connect(s, &addr.sa.in, addr.sa_socklen);
+ rc = connect(s, &addr.sa.s, addr.sa_socklen);
assert_return_code(rc, errno);
/* Check with len=0 */
@@ -446,25 +450,27 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_connect_getsockname_getpeername,
- setup_echo_srv_tcp_ipv4,
- teardown),
- unit_test_setup_teardown(test_connect_getsockname_getpeername_port,
- setup_echo_srv_tcp_ipv4,
- teardown),
- unit_test_setup_teardown(test_connect_getsockname_getpeername_any,
- setup_echo_srv_tcp_ipv4,
- teardown),
- unit_test_setup_teardown(test_connect_getsockname_getpeername_any_port,
- setup_echo_srv_tcp_ipv4,
- teardown),
- unit_test_setup_teardown(test_connect_getsockname_getpeername_len,
- setup_echo_srv_tcp_ipv4,
- teardown),
- };
-
- rc = run_tests(tests);
+ const struct CMUnitTest sock_name_tests[] = {
+ cmocka_unit_test_setup_teardown(test_connect_getsockname_getpeername,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_connect_getsockname_getpeername_port,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_connect_getsockname_getpeername_any,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_connect_getsockname_getpeername_any_port,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_connect_getsockname_getpeername_len,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ };
+
+ rc = cmocka_run_group_tests(sock_name_tests,
+ NULL,
+ NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_sendmsg_recvmsg.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_sendmsg_recvmsg.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_sendmsg_recvmsg.c 1970-01-01 01:00:00.000000000 +0100
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_sendmsg_recvmsg.c 2015-08-17 12:21:00.000000000 +0200
@@ -0,0 +1,273 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+
+#include "config.h"
+#include "torture.h"
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+
+static int setup_echo_srv_tcp_ipv4(void **state)
+{
+ torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
+}
+
+#ifdef HAVE_IPV6
+static int setup_echo_srv_tcp_ipv6(void **state)
+{
+ torture_setup_echo_srv_tcp_ipv6(state);
+
+ return 0;
+}
+#endif
+
+static int teardown(void **state)
+{
+ torture_teardown_echo_srv(state);
+
+ return 0;
+}
+
+static void test_sendmsg_recvmsg_ipv4(void **state)
+{
+ struct torture_address addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ char send_buf[64] = {0};
+ char recv_buf[64] = {0};
+ ssize_t ret;
+ int rc;
+ int i;
+ int s;
+
+ (void) state; /* unused */
+
+ s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ assert_int_not_equal(s, -1);
+
+ addr.sa.in.sin_family = AF_INET;
+ addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET,
+ torture_server_address(AF_INET),
+ &addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &addr.sa.s, addr.sa_socklen);
+
+ for (i = 0; i < 10; i++) {
+ struct torture_address reply_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = 0,
+ };
+ struct iovec s_iov;
+ struct iovec r_iov;
+
+ snprintf(send_buf, sizeof(send_buf), "packet.%d", i);
+
+ /* This should be ignored */
+ rc = inet_pton(AF_INET,
+ "127.0.0.1",
+ &addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ s_msg.msg_name = &addr.sa.s;
+ s_msg.msg_namelen = addr.sa_socklen;
+
+ s_iov.iov_base = send_buf;
+ s_iov.iov_len = sizeof(send_buf);
+
+ s_msg.msg_iov = &s_iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ r_msg.msg_name = &reply_addr.sa.s;
+ r_msg.msg_namelen = reply_addr.sa_socklen;
+
+ r_iov.iov_base = recv_buf;
+ r_iov.iov_len = sizeof(recv_buf);
+
+ r_msg.msg_iov = &r_iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ assert_int_equal(r_msg.msg_namelen, 0);
+
+ assert_memory_equal(send_buf, recv_buf, sizeof(send_buf));
+ }
+
+ close(s);
+}
+
+#ifdef HAVE_IPV6
+static void test_sendmsg_recvmsg_ipv6(void **state)
+{
+ struct torture_address addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ char send_buf[64] = {0};
+ char recv_buf[64] = {0};
+ ssize_t ret;
+ int rc;
+ int i;
+ int s;
+
+ (void) state; /* unused */
+
+ s = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
+ assert_int_not_equal(s, -1);
+
+ addr.sa.in.sin_family = AF_INET6;
+ addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET6,
+ torture_server_address(AF_INET6),
+ &addr.sa.in6.sin6_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &addr.sa.s, addr.sa_socklen);
+
+ for (i = 0; i < 10; i++) {
+ struct torture_address reply_addr = {
+ .sa_socklen = sizeof(struct sockaddr_in),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = 0,
+ };
+ struct iovec s_iov;
+ struct iovec r_iov;
+
+ snprintf(send_buf, sizeof(send_buf), "packet.%d", i);
+
+ s_iov.iov_base = send_buf;
+ s_iov.iov_len = sizeof(send_buf);
+
+ s_msg.msg_iov = &s_iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ r_msg.msg_name = &reply_addr.sa.s;
+ r_msg.msg_namelen = reply_addr.sa_socklen;
+
+ r_iov.iov_base = recv_buf;
+ r_iov.iov_len = sizeof(recv_buf);
+
+ r_msg.msg_iov = &r_iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ assert_int_equal(r_msg.msg_namelen, 0);
+
+ assert_memory_equal(send_buf, recv_buf, sizeof(send_buf));
+ }
+
+ close(s);
+}
+#endif
+
+static void test_sendmsg_recvmsg_ipv4_null(void **state)
+{
+ struct torture_address send_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = 0,
+ };
+ struct iovec iov;
+ char payload[] = "PACKET";
+ ssize_t ret;
+ int rc;
+ int s;
+
+ (void)state; /* unused */
+
+ s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ assert_int_not_equal(s, -1);
+
+ send_addr.sa.in.sin_family = AF_INET;
+ send_addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET,
+ torture_server_address(AF_INET),
+ &send_addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen);
+
+ /* msg_name = NULL */
+
+ iov.iov_base = (void *)payload;
+ iov.iov_len = sizeof(payload);
+
+ s_msg.msg_iov = &iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ /* msg_name = NULL */
+
+ memset(payload, 0, sizeof(payload));
+
+ r_msg.msg_iov = &iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ assert_int_equal(r_msg.msg_namelen, 0);
+ assert_null(r_msg.msg_name);
+
+ close(s);
+}
+
+int main(void) {
+ int rc;
+
+ const struct CMUnitTest sendmsg_tests[] = {
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4_null,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+#ifdef HAVE_IPV6
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv6,
+ setup_echo_srv_tcp_ipv6,
+ teardown),
+#endif
+ };
+
+ rc = cmocka_run_group_tests(sendmsg_tests, NULL, NULL);
+
+ return rc;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_socket.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_socket.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_socket.c 2014-10-02 07:23:45.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_socket.c 2015-08-17 12:21:00.000000000 +0200
@@ -28,7 +28,7 @@
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
assert_int_not_equal(s, -1);
- rc = getsockname(s, &addr.sa.in, &addr.sa_socklen);
+ rc = getsockname(s, &addr.sa.s, &addr.sa_socklen);
assert_return_code(rc, errno);
assert_int_equal(addr.sa.in.sin_family, AF_INET);
}
@@ -56,14 +56,14 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test(test_socket_getsockname),
+ const struct CMUnitTest getsockname_tests[] = {
+ cmocka_unit_test(test_socket_getsockname),
#ifdef HAVE_IPV6
- unit_test(test_socket_getsockname6),
+ cmocka_unit_test(test_socket_getsockname6),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(getsockname_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_socket_options.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_socket_options.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_socket_options.c 2014-10-02 07:23:45.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_socket_options.c 2015-08-11 17:30:20.000000000 +0200
@@ -20,26 +20,34 @@
#define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x))
#endif
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_tcp_ipv6(void **state)
+static int setup_echo_srv_tcp_ipv6(void **state)
{
torture_setup_echo_srv_tcp_ipv6(state);
+
+ return 0;
}
-static void setup_ipv6(void **state)
+static int setup_ipv6(void **state)
{
torture_setup_socket_dir(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_sockopt_sndbuf(void **state)
@@ -288,20 +296,24 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_sockopt_sndbuf, setup_echo_srv_tcp_ipv4, teardown),
- unit_test_setup_teardown(test_sockopt_so,
- setup_echo_srv_tcp_ipv4,
- teardown),
+ const struct CMUnitTest sockopt_tests[] = {
+ cmocka_unit_test_setup_teardown(test_sockopt_sndbuf,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_sockopt_so,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_sockopt_so6,
- setup_echo_srv_tcp_ipv6,
- teardown),
- unit_test_setup_teardown(test_bind_ipv6_only, setup_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_sockopt_so6,
+ setup_echo_srv_tcp_ipv6,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_bind_ipv6_only,
+ setup_ipv6,
+ teardown),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(sockopt_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_write_read.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_write_read.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_write_read.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_write_read.c 2015-08-11 17:30:20.000000000 +0200
@@ -15,21 +15,27 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_tcp_ipv6(void **state)
+static int setup_echo_srv_tcp_ipv6(void **state)
{
torture_setup_echo_srv_tcp_ipv6(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_write_read_ipv4(void **state)
@@ -133,14 +139,18 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_write_read_ipv4, setup_echo_srv_tcp_ipv4, teardown),
+ const struct CMUnitTest tcp_write_tests[] = {
+ cmocka_unit_test_setup_teardown(test_write_read_ipv4,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_write_read_ipv6, setup_echo_srv_tcp_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_write_read_ipv6,
+ setup_echo_srv_tcp_ipv6,
+ teardown),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(tcp_write_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_tcp_writev_readv.c new/socket_wrapper-1.1.4/tests/test_echo_tcp_writev_readv.c
--- old/socket_wrapper-1.1.3/tests/test_echo_tcp_writev_readv.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_tcp_writev_readv.c 2015-08-11 17:30:20.000000000 +0200
@@ -16,21 +16,27 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_tcp_ipv4(void **state)
+static int setup_echo_srv_tcp_ipv4(void **state)
{
torture_setup_echo_srv_tcp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_tcp_ipv6(void **state)
+static int setup_echo_srv_tcp_ipv6(void **state)
{
torture_setup_echo_srv_tcp_ipv6(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_writev_readv_ipv4(void **state)
@@ -166,14 +172,18 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_writev_readv_ipv4, setup_echo_srv_tcp_ipv4, teardown),
+ const struct CMUnitTest tcp_writev_tests[] = {
+ cmocka_unit_test_setup_teardown(test_writev_readv_ipv4,
+ setup_echo_srv_tcp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_writev_readv_ipv6, setup_echo_srv_tcp_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_writev_readv_ipv6,
+ setup_echo_srv_tcp_ipv6,
+ teardown),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(tcp_writev_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_udp_send_recv.c new/socket_wrapper-1.1.4/tests/test_echo_udp_send_recv.c
--- old/socket_wrapper-1.1.3/tests/test_echo_udp_send_recv.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_udp_send_recv.c 2015-08-11 17:30:20.000000000 +0200
@@ -15,21 +15,27 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_udp_ipv4(void **state)
+static int setup_echo_srv_udp_ipv4(void **state)
{
torture_setup_echo_srv_udp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_udp_ipv6(void **state)
+static int setup_echo_srv_udp_ipv6(void **state)
{
torture_setup_echo_srv_udp_ipv6(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_send_recv_ipv4(void **state)
@@ -137,14 +143,18 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_send_recv_ipv4, setup_echo_srv_udp_ipv4, teardown),
+ const struct CMUnitTest send_tests[] = {
+ cmocka_unit_test_setup_teardown(test_send_recv_ipv4,
+ setup_echo_srv_udp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_send_recv_ipv6, setup_echo_srv_udp_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_send_recv_ipv6,
+ setup_echo_srv_udp_ipv6,
+ teardown),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(send_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_udp_sendmsg_recvmsg.c new/socket_wrapper-1.1.4/tests/test_echo_udp_sendmsg_recvmsg.c
--- old/socket_wrapper-1.1.3/tests/test_echo_udp_sendmsg_recvmsg.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_udp_sendmsg_recvmsg.c 2015-08-17 12:21:00.000000000 +0200
@@ -15,24 +15,30 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_udp_ipv4(void **state)
+static int setup_echo_srv_udp_ipv4(void **state)
{
torture_setup_echo_srv_udp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_udp_ipv6(void **state)
+static int setup_echo_srv_udp_ipv6(void **state)
{
torture_setup_echo_srv_udp_ipv6(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
-static void test_sendto_recvfrom_ipv4(void **state)
+static void test_sendmsg_recvmsg_ipv4(void **state)
{
struct torture_address addr = {
.sa_socklen = sizeof(struct sockaddr_in),
@@ -98,6 +104,8 @@
ret = recvmsg(s, &r_msg, 0);
assert_int_not_equal(ret, -1);
+ assert_int_equal(r_msg.msg_namelen, sizeof(struct sockaddr_in));
+
a = inet_ntop(AF_INET, &srv_in.sa.in.sin_addr, ip, sizeof(ip));
assert_non_null(a);
assert_string_equal(a, torture_server_address(AF_INET));
@@ -109,7 +117,7 @@
}
#ifdef HAVE_IPV6
-static void test_sendto_recvfrom_ipv6(void **state)
+static void test_sendmsg_recvmsg_ipv6(void **state)
{
struct torture_address addr = {
.sa_socklen = sizeof(struct sockaddr_in6),
@@ -174,6 +182,8 @@
ret = recvmsg(s, &r_msg, 0);
assert_int_not_equal(ret, -1);
+ assert_int_equal(r_msg.msg_namelen, sizeof(struct sockaddr_in6));
+
a = inet_ntop(AF_INET6, &srv_in6.sa.in6.sin6_addr, ip, sizeof(ip));
assert_non_null(a);
assert_string_equal(a, torture_server_address(AF_INET6));
@@ -185,17 +195,213 @@
}
#endif
+static void test_sendmsg_recvmsg_ipv4_connected(void **state)
+{
+ struct torture_address send_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct torture_address r_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = 0,
+ };
+ struct iovec iov;
+ char ip[INET_ADDRSTRLEN] = {0};
+ char payload[] = "PACKET";
+ const char *a;
+ ssize_t ret;
+ int rc;
+ int s;
+
+ (void)state; /* unused */
+
+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ assert_int_not_equal(s, -1);
+
+ send_addr.sa.in.sin_family = AF_INET;
+ send_addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET,
+ torture_server_address(AF_INET),
+ &send_addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen);
+
+ iov.iov_base = (void *)payload;
+ iov.iov_len = sizeof(payload);
+
+ /* msg_name is NULL */
+
+ s_msg.msg_iov = &iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ r_msg.msg_name = &r_addr.sa.ss;
+ r_msg.msg_namelen = r_addr.sa_socklen;
+
+ memset(payload, 0, sizeof(payload));
+
+ r_msg.msg_iov = &iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ assert_int_equal(r_msg.msg_namelen, sizeof(struct sockaddr_in));
+
+ a = inet_ntop(AF_INET, &r_addr.sa.in.sin_addr, ip, sizeof(ip));
+ assert_non_null(a);
+ assert_string_equal(a, torture_server_address(AF_INET));
+
+ close(s);
+}
+
+static void test_sendmsg_recvmsg_ipv4_connected_null(void **state)
+{
+ struct torture_address send_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = 0,
+ };
+ struct iovec iov;
+ char payload[] = "PACKET";
+ ssize_t ret;
+ int rc;
+ int s;
+
+ (void)state; /* unused */
+
+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ assert_int_not_equal(s, -1);
+
+ send_addr.sa.in.sin_family = AF_INET;
+ send_addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET,
+ torture_server_address(AF_INET),
+ &send_addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen);
+
+ /* msg_name = NULL */
+
+ iov.iov_base = (void *)payload;
+ iov.iov_len = sizeof(payload);
+
+ s_msg.msg_iov = &iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ /* msg_name = NULL */
+
+ memset(payload, 0, sizeof(payload));
+
+ r_msg.msg_iov = &iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ assert_int_equal(r_msg.msg_namelen, 0);
+ assert_null(r_msg.msg_name);
+
+ close(s);
+}
+
+static void test_sendmsg_recvmsg_ipv4_connected_namelen(void **state)
+{
+ struct torture_address send_addr = {
+ .sa_socklen = sizeof(struct sockaddr_storage),
+ };
+ struct msghdr s_msg = {
+ .msg_namelen = 0,
+ };
+ struct msghdr r_msg = {
+ .msg_namelen = sizeof(struct sockaddr_storage),
+ };
+ struct iovec iov;
+ char payload[] = "PACKET";
+ ssize_t ret;
+ int rc;
+ int s;
+
+ (void)state; /* unused */
+
+ s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ assert_int_not_equal(s, -1);
+
+ send_addr.sa.in.sin_family = AF_INET;
+ send_addr.sa.in.sin_port = htons(torture_server_port());
+
+ rc = inet_pton(AF_INET,
+ torture_server_address(AF_INET),
+ &send_addr.sa.in.sin_addr);
+ assert_int_equal(rc, 1);
+
+ rc = connect(s, &send_addr.sa.s, send_addr.sa_socklen);
+
+ /* msg_name = NULL */
+
+ iov.iov_base = (void *)payload;
+ iov.iov_len = sizeof(payload);
+
+ s_msg.msg_iov = &iov;
+ s_msg.msg_iovlen = 1;
+
+ ret = sendmsg(s, &s_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ /* msg_name = NULL */
+
+ memset(payload, 0, sizeof(payload));
+
+ r_msg.msg_iov = &iov;
+ r_msg.msg_iovlen = 1;
+
+ ret = recvmsg(s, &r_msg, 0);
+ assert_int_not_equal(ret, -1);
+
+ close(s);
+}
+
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_sendto_recvfrom_ipv4, setup_echo_srv_udp_ipv4, teardown),
+ const struct CMUnitTest sendmsg_tests[] = {
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4,
+ setup_echo_srv_udp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_sendto_recvfrom_ipv6, setup_echo_srv_udp_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv6,
+ setup_echo_srv_udp_ipv6,
+ teardown),
#endif
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4_connected,
+ setup_echo_srv_udp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4_connected_null,
+ setup_echo_srv_udp_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_sendmsg_recvmsg_ipv4_connected_namelen,
+ setup_echo_srv_udp_ipv4,
+ teardown),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(sendmsg_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_echo_udp_sendto_recvfrom.c new/socket_wrapper-1.1.4/tests/test_echo_udp_sendto_recvfrom.c
--- old/socket_wrapper-1.1.3/tests/test_echo_udp_sendto_recvfrom.c 2014-10-02 07:11:30.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_echo_udp_sendto_recvfrom.c 2015-08-11 17:30:20.000000000 +0200
@@ -15,21 +15,27 @@
#include <stdio.h>
#include <unistd.h>
-static void setup_echo_srv_udp_ipv4(void **state)
+static int setup_echo_srv_udp_ipv4(void **state)
{
torture_setup_echo_srv_udp_ipv4(state);
+
+ return 0;
}
#ifdef HAVE_IPV6
-static void setup_echo_srv_udp_ipv6(void **state)
+static int setup_echo_srv_udp_ipv6(void **state)
{
torture_setup_echo_srv_udp_ipv6(state);
+
+ return 0;
}
#endif
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_echo_srv(state);
+
+ return 0;
}
static void test_sendto_recvfrom_ipv4(void **state)
@@ -189,14 +195,18 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_sendto_recvfrom_ipv4, setup_echo_srv_udp_ipv4, teardown),
+ const struct CMUnitTest sendto_tests[] = {
+ cmocka_unit_test_setup_teardown(test_sendto_recvfrom_ipv4,
+ setup_echo_srv_udp_ipv4,
+ teardown),
#ifdef HAVE_IPV6
- unit_test_setup_teardown(test_sendto_recvfrom_ipv6, setup_echo_srv_udp_ipv6, teardown),
+ cmocka_unit_test_setup_teardown(test_sendto_recvfrom_ipv6,
+ setup_echo_srv_udp_ipv6,
+ teardown),
#endif
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(sendto_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_ioctl.c new/socket_wrapper-1.1.4/tests/test_ioctl.c
--- old/socket_wrapper-1.1.3/tests/test_ioctl.c 2014-08-27 15:06:21.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_ioctl.c 2015-08-11 17:30:20.000000000 +0200
@@ -14,7 +14,7 @@
#include <limits.h>
#include <unistd.h>
-static void setup(void **state)
+static int setup(void **state)
{
char test_tmpdir[256];
const char *p;
@@ -29,16 +29,18 @@
*state = strdup(p);
setenv("SOCKET_WRAPPER_DIR", p, 1);
setenv("SOCKET_WRAPPER_DEFAULT_IFACE", "11", 1);
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
char remove_cmd[PATH_MAX] = {0};
char *s = (char *)*state;
int rc;
if (s == NULL) {
- return;
+ return -1;
}
snprintf(remove_cmd, sizeof(remove_cmd), "rm -rf %s", s);
@@ -48,6 +50,8 @@
if (rc < 0) {
fprintf(stderr, "%s failed: %s", remove_cmd, strerror(errno));
}
+
+ return rc;
}
static void test_swrap_socket(void **state)
@@ -95,12 +99,12 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_swrap_socket, setup, teardown),
- unit_test_setup_teardown(test_swrap_ioctl_sock, setup, teardown),
+ const struct CMUnitTest ioctl_tests[] = {
+ cmocka_unit_test_setup_teardown(test_swrap_socket, setup, teardown),
+ cmocka_unit_test_setup_teardown(test_swrap_ioctl_sock, setup, teardown),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(ioctl_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/socket_wrapper-1.1.3/tests/test_sendmsg_recvmsg_fd.c new/socket_wrapper-1.1.4/tests/test_sendmsg_recvmsg_fd.c
--- old/socket_wrapper-1.1.3/tests/test_sendmsg_recvmsg_fd.c 2014-07-29 14:15:34.000000000 +0200
+++ new/socket_wrapper-1.1.4/tests/test_sendmsg_recvmsg_fd.c 2015-08-11 17:30:20.000000000 +0200
@@ -106,11 +106,11 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test(test_sendmsg_recvmsg_fd),
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(test_sendmsg_recvmsg_fd),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(tests, NULL, NULL);
return rc;
}
1
0
Hello community,
here is the log from the commit of package resolv_wrapper for openSUSE:Factory checked in at 2015-09-09 20:21:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resolv_wrapper (Old)
and /work/SRC/openSUSE:Factory/.resolv_wrapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "resolv_wrapper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/resolv_wrapper/resolv_wrapper.changes 2015-06-11 08:22:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.resolv_wrapper.new/resolv_wrapper.changes 2015-09-09 20:21:29.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Sep 2 11:52:01 UTC 2015 - asn(a)cryptomilk.org
+
+- Update to version 1.1.3:
+ * Fixed symbol detection if macros are used for res_* functions
+ * Fixed strict aliasing warnings for symbol binding
+ * Added missing tests for req_query and res_search
+ * Fix detection for ns_name_compress.
+
+-------------------------------------------------------------------
Old:
----
resolv_wrapper-1.1.1.tar.gz
New:
----
resolv_wrapper-1.1.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ resolv_wrapper.spec ++++++
--- /var/tmp/diff_new_pack.iTJVAf/_old 2015-09-09 20:21:30.000000000 +0200
+++ /var/tmp/diff_new_pack.iTJVAf/_new 2015-09-09 20:21:30.000000000 +0200
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
############################# NOTE ##################################
#
# This is a special library. You are not able to link this library.
@@ -23,7 +24,7 @@
############################# NOTE ##################################
Name: resolv_wrapper
-Version: 1.1.1
+Version: 1.1.3
Release: 0
Summary: A wrapper for dns name resolving or dns faking
@@ -35,13 +36,13 @@
Source1: %{name}-rpmlintrc
BuildRequires: cmake
-BuildRequires: libcmocka-devel
BuildRequires: glibc-devel
+BuildRequires: libcmocka-devel
BuildRequires: pkg-config
BuildRequires: socket_wrapper
-Requires: pkg-config
Requires: cmake
+Requires: pkg-config
%description
resolv_wrapper makes it possible on most UNIX platforms to contact your own DNS
++++++ resolv_wrapper-1.1.1.tar.gz -> resolv_wrapper-1.1.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/CMakeLists.txt new/resolv_wrapper-1.1.3/CMakeLists.txt
--- old/resolv_wrapper-1.1.1/CMakeLists.txt 2015-01-12 17:27:42.000000000 +0100
+++ new/resolv_wrapper-1.1.3/CMakeLists.txt 2015-08-24 15:17:00.000000000 +0200
@@ -8,7 +8,7 @@
set(APPLICATION_VERSION_MAJOR "1")
set(APPLICATION_VERSION_MINOR "1")
-set(APPLICATION_VERSION_PATCH "1")
+set(APPLICATION_VERSION_PATCH "3")
set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
@@ -19,7 +19,7 @@
# Increment AGE. Set REVISION to 0
# If the source code was changed, but there were no interface changes:
# Increment REVISION.
-set(LIBRARY_VERSION "0.0.2")
+set(LIBRARY_VERSION "0.0.3")
set(LIBRARY_SOVERSION "0")
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
@@ -30,7 +30,6 @@
# add definitions
include(DefineCMakeDefaults)
include(DefinePlatformDefaults)
-include(DefineCompilerFlags)
include(DefineInstallationPaths)
include(DefineOptions.cmake)
include(CPackConfig.cmake)
@@ -47,6 +46,9 @@
include(ConfigureChecks.cmake)
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+# Add compiler flags for the project now.
+include(DefineCompilerFlags)
+
# check subdirectories
add_subdirectory(src)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/CTestConfig.cmake new/resolv_wrapper-1.1.3/CTestConfig.cmake
--- old/resolv_wrapper-1.1.1/CTestConfig.cmake 2014-10-21 14:33:48.000000000 +0200
+++ new/resolv_wrapper-1.1.3/CTestConfig.cmake 2015-08-13 14:32:44.000000000 +0200
@@ -3,7 +3,7 @@
set(CTEST_PROJECT_NAME "resolvwrapper")
set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
-set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_METHOD "https")
set(CTEST_DROP_SITE "mock.cryptomilk.org")
set(CTEST_DROP_LOCATION "/submit.php?project=resolvwrapper")
set(CTEST_DROP_SITE_CDASH TRUE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/ChangeLog new/resolv_wrapper-1.1.3/ChangeLog
--- old/resolv_wrapper-1.1.1/ChangeLog 2015-01-12 17:27:42.000000000 +0100
+++ new/resolv_wrapper-1.1.3/ChangeLog 2015-08-24 15:17:00.000000000 +0200
@@ -1,6 +1,14 @@
ChangeLog
==========
+version 1.1.3 (released 2015-01-13)
+ * Fixed symbol detection if macros are used for res_* functions
+ * Fixed strict aliasing warnings for symbol binding
+ * Added missing tests for req_query and res_search
+
+version 1.1.2 (released 2015-01-13)
+ * Fix detection for ns_name_compress.
+
version 1.1.1 (released 2015-01-12)
* Fixed building on older Linux distributions.
* Fix a possible segfault.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/ConfigureChecks.cmake new/resolv_wrapper-1.1.3/ConfigureChecks.cmake
--- old/resolv_wrapper-1.1.1/ConfigureChecks.cmake 2015-01-12 17:27:42.000000000 +0100
+++ new/resolv_wrapper-1.1.3/ConfigureChecks.cmake 2015-01-13 15:11:34.000000000 +0100
@@ -94,7 +94,7 @@
check_function_exists(res_nsearch HAVE_RES_NSEARCH)
check_function_exists(__res_nsearch HAVE___RES_NSEARCH)
-check_function_exists(ns_name_compress HAVE_NS_NAME_COMPRESS)
+check_symbol_exists(ns_name_compress "sys/types.h;arpa/nameser.h" HAVE_NS_NAME_COMPRESS)
if (UNIX)
if (NOT LINUX)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/doc/resolv_wrapper.1 new/resolv_wrapper-1.1.3/doc/resolv_wrapper.1
--- old/resolv_wrapper-1.1.1/doc/resolv_wrapper.1 2014-10-23 07:00:52.000000000 +0200
+++ new/resolv_wrapper-1.1.3/doc/resolv_wrapper.1 2015-08-18 12:28:45.000000000 +0200
@@ -2,12 +2,12 @@
.\" Title: resolv_wrapper
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 10/12/2014
+.\" Date: 2015-08-18
.\" Manual: \ \&
.\" Source: \ \&
.\" Language: English
.\"
-.TH "RESOLV_WRAPPER" "1" "10/12/2014" "\ \&" "\ \&"
+.TH "RESOLV_WRAPPER" "1" "2015\-08\-18" "\ \&" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -147,11 +147,13 @@
.RE
.SH "EXAMPLE"
.sp
+The following command would trick \fIkinit(1)\fR into using DNS servers from "\&./resolv\&.conf" for Kerberos service resolution:
+.sp
.if n \{\
.RS 4
.\}
.nf
-$ LD_PRELOAD=libresolv_wrapper\&.so RESOLV_WRAPPER_CONF="\&./resolv\&.conf" dig test\&.example\&.site
+$ LD_PRELOAD=libresolv_wrapper\&.so RESOLV_WRAPPER_CONF="\&./resolv\&.conf" kinit user(a)EXAMPLE\&.COM
.fi
.if n \{\
.RE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/doc/resolv_wrapper.1.txt new/resolv_wrapper-1.1.3/doc/resolv_wrapper.1.txt
--- old/resolv_wrapper-1.1.1/doc/resolv_wrapper.1.txt 2014-10-23 07:00:52.000000000 +0200
+++ new/resolv_wrapper-1.1.3/doc/resolv_wrapper.1.txt 2015-08-18 12:28:45.000000000 +0200
@@ -1,5 +1,6 @@
resolv_wrapper(1)
=================
+:revdate: 2015-08-18
NAME
----
@@ -61,4 +62,7 @@
EXAMPLE
-------
- $ LD_PRELOAD=libresolv_wrapper.so RESOLV_WRAPPER_CONF="./resolv.conf" dig test.example.site
+The following command would trick 'kinit(1)' into using DNS servers from "./resolv.conf"
+for Kerberos service resolution:
+
+ $ LD_PRELOAD=libresolv_wrapper.so RESOLV_WRAPPER_CONF="./resolv.conf" kinit user(a)EXAMPLE.COM
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/src/resolv_wrapper.c new/resolv_wrapper-1.1.3/src/resolv_wrapper.c
--- old/resolv_wrapper-1.1.1/src/resolv_wrapper.c 2015-01-12 17:27:42.000000000 +0100
+++ new/resolv_wrapper-1.1.3/src/resolv_wrapper.c 2015-08-18 12:28:45.000000000 +0200
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2014 Andreas Schneider <asn(a)samba.org>
- * Copyright (c) 2014 Jakub Hrozek <jakub.hrozek(a)gmail.com>
+ * Copyright (c) 2014 Jakub Hrozek <jakub.hrozek(a)posteo.se>
*
* All rights reserved.
*
@@ -981,51 +981,68 @@
#include <dlfcn.h>
-struct rwrap_libc_fns {
- int (*libc_res_init)(void);
- int (*libc___res_init)(void);
- int (*libc_res_ninit)(struct __res_state *state);
- int (*libc___res_ninit)(struct __res_state *state);
- void (*libc_res_nclose)(struct __res_state *state);
- void (*libc___res_nclose)(struct __res_state *state);
- void (*libc_res_close)(void);
- void (*libc___res_close)(void);
- int (*libc_res_nquery)(struct __res_state *state,
- const char *dname,
- int class,
- int type,
- unsigned char *answer,
- int anslen);
- int (*libc___res_nquery)(struct __res_state *state,
+typedef int (*__libc_res_ninit)(struct __res_state *state);
+typedef int (*__libc___res_ninit)(struct __res_state *state);
+typedef void (*__libc_res_nclose)(struct __res_state *state);
+typedef void (*__libc___res_nclose)(struct __res_state *state);
+typedef int (*__libc_res_nquery)(struct __res_state *state,
const char *dname,
int class,
int type,
unsigned char *answer,
int anslen);
- int (*libc_res_nsearch)(struct __res_state *state,
- const char *dname,
- int class,
- int type,
- unsigned char *answer,
- int anslen);
- int (*libc___res_nsearch)(struct __res_state *state,
+typedef int (*__libc___res_nquery)(struct __res_state *state,
+ const char *dname,
+ int class,
+ int type,
+ unsigned char *answer,
+ int anslen);
+typedef int (*__libc_res_nsearch)(struct __res_state *state,
const char *dname,
int class,
int type,
unsigned char *answer,
int anslen);
+typedef int (*__libc___res_nsearch)(struct __res_state *state,
+ const char *dname,
+ int class,
+ int type,
+ unsigned char *answer,
+ int anslen);
+
+#define RWRAP_SYMBOL_ENTRY(i) \
+ union { \
+ __libc_##i f; \
+ void *obj; \
+ } _libc_##i
+
+struct rwrap_libc_symbols {
+ RWRAP_SYMBOL_ENTRY(res_ninit);
+ RWRAP_SYMBOL_ENTRY(__res_ninit);
+ RWRAP_SYMBOL_ENTRY(res_nclose);
+ RWRAP_SYMBOL_ENTRY(__res_nclose);
+ RWRAP_SYMBOL_ENTRY(res_nquery);
+ RWRAP_SYMBOL_ENTRY(__res_nquery);
+ RWRAP_SYMBOL_ENTRY(res_nsearch);
+ RWRAP_SYMBOL_ENTRY(__res_nsearch);
};
+#undef RWRAP_SYMBOL_ENTRY
struct rwrap {
- void *libc_handle;
- void *libresolv_handle;
+ struct {
+ void *handle;
+ struct rwrap_libc_symbols symbols;
+ } libc;
+
+ struct {
+ void *handle;
+ struct rwrap_libc_symbols symbols;
+ } libresolv;
bool initialised;
bool enabled;
char *socket_dir;
-
- struct rwrap_libc_fns fns;
};
static struct rwrap rwrap;
@@ -1063,7 +1080,7 @@
switch (lib) {
case RWRAP_LIBRESOLV:
#ifdef HAVE_LIBRESOLV
- handle = rwrap.libresolv_handle;
+ handle = rwrap.libresolv.handle;
if (handle == NULL) {
for (i = 10; i >= 0; i--) {
char soname[256] = {0};
@@ -1075,18 +1092,18 @@
}
}
- rwrap.libresolv_handle = handle;
+ rwrap.libresolv.handle = handle;
}
break;
#endif
/* FALL TROUGH */
case RWRAP_LIBC:
- handle = rwrap.libc_handle;
+ handle = rwrap.libc.handle;
#ifdef LIBC_SO
if (handle == NULL) {
handle = dlopen(LIBC_SO, flags);
- rwrap.libc_handle = handle;
+ rwrap.libc.handle = handle;
}
#endif
if (handle == NULL) {
@@ -1100,14 +1117,14 @@
}
}
- rwrap.libc_handle = handle;
+ rwrap.libc.handle = handle;
}
break;
}
if (handle == NULL) {
#ifdef RTLD_NEXT
- handle = rwrap.libc_handle = rwrap.libresolv_handle = RTLD_NEXT;
+ handle = rwrap.libc.handle = rwrap.libresolv.handle = RTLD_NEXT;
#else
RWRAP_LOG(RWRAP_LOG_ERROR,
"Failed to dlopen library: %s\n",
@@ -1119,7 +1136,7 @@
return handle;
}
-static void *_rwrap_load_lib_function(enum rwrap_lib lib, const char *fn_name)
+static void *_rwrap_bind_symbol(enum rwrap_lib lib, const char *fn_name)
{
void *handle;
void *func;
@@ -1140,10 +1157,16 @@
return func;
}
-#define rwrap_load_lib_function(lib, fn_name) \
- if (rwrap.fns.libc_##fn_name == NULL) { \
- *(void **) (&rwrap.fns.libc_##fn_name) = \
- _rwrap_load_lib_function(lib, #fn_name); \
+#define rwrap_bind_symbol_libc(sym_name) \
+ if (rwrap.libc.symbols._libc_##sym_name.obj == NULL) { \
+ rwrap.libc.symbols._libc_##sym_name.obj = \
+ _rwrap_bind_symbol(RWRAP_LIBC, #sym_name); \
+ }
+
+#define rwrap_bind_symbol_libresolv(sym_name) \
+ if (rwrap.libresolv.symbols._libc_##sym_name.obj == NULL) { \
+ rwrap.libresolv.symbols._libc_##sym_name.obj = \
+ _rwrap_bind_symbol(RWRAP_LIBRESOLV, #sym_name); \
}
/*
@@ -1154,36 +1177,25 @@
* has probably something todo with with the linker.
* So we need load each function at the point it is called the first time.
*/
-#if 0
-static int libc_res_init(void)
-{
-#if defined(HAVE_RES_INIT)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, res_init);
-
- return rwrap.fns.libc_res_init();
-#elif defined(HAVE___RES_INIT)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, __res_init);
-
- return rwrap.fns.libc___res_init();
-#endif
-}
-#endif
static int libc_res_ninit(struct __res_state *state)
{
-#if defined(HAVE_RES_NINIT)
+#if !defined(res_ninit) && defined(HAVE_RES_NINIT)
#if defined(HAVE_RES_NINIT_IN_LIBRESOLV)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, res_ninit);
+ rwrap_bind_symbol_libresolv(res_ninit);
+
+ return rwrap.libresolv.symbols._libc_res_ninit.f(state);
#else /* HAVE_RES_NINIT_IN_LIBRESOLV */
- rwrap_load_lib_function(RWRAP_LIBC, res_ninit);
+ rwrap_bind_symbol_libc(res_ninit);
+
+ return rwrap.libc.symbols._libc_res_ninit.f(state);
#endif /* HAVE_RES_NINIT_IN_LIBRESOLV */
- return rwrap.fns.libc_res_ninit(state);
#elif defined(HAVE___RES_NINIT)
- rwrap_load_lib_function(RWRAP_LIBC, __res_ninit);
+ rwrap_bind_symbol_libc(__res_ninit);
- return rwrap.fns.libc___res_ninit(state);
+ return rwrap.libc.symbols._libc___res_ninit.f(state);
#else
#error "No res_ninit function"
#endif
@@ -1191,19 +1203,24 @@
static void libc_res_nclose(struct __res_state *state)
{
-#if defined(HAVE_RES_NCLOSE)
+#if !defined(res_close) && defined(HAVE_RES_NCLOSE)
#if defined(HAVE_RES_NCLOSE_IN_LIBRESOLV)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, res_nclose);
+ rwrap_bind_symbol_libresolv(res_nclose);
+
+ rwrap.libresolv.symbols._libc_res_nclose.f(state);
+ return;
#else /* HAVE_RES_NCLOSE_IN_LIBRESOLV */
- rwrap_load_lib_function(RWRAP_LIBC, res_nclose);
+ rwrap_bind_symbol_libc(res_nclose);
+
+ rwrap.libc.symbols._libc_res_nclose.f(state);
+ return;
#endif /* HAVE_RES_NCLOSE_IN_LIBRESOLV */
- rwrap.fns.libc_res_nclose(state);
#elif defined(HAVE___RES_NCLOSE)
- rwrap_load_lib_function(RWRAP_LIBC, __res_nclose);
+ rwrap_bind_symbol_libc(__res_nclose);
- rwrap.fns.libc___res_nclose(state);
+ rwrap.libc.symbols._libc___res_nclose.f(state);
#else
#error "No res_nclose function"
#endif
@@ -1216,24 +1233,24 @@
unsigned char *answer,
int anslen)
{
-#if defined(HAVE_RES_NQUERY)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, res_nquery);
+#if !defined(res_nquery) && defined(HAVE_RES_NQUERY)
+ rwrap_bind_symbol_libresolv(res_nquery);
- return rwrap.fns.libc_res_nquery(state,
- dname,
- class,
- type,
- answer,
- anslen);
+ return rwrap.libresolv.symbols._libc_res_nquery.f(state,
+ dname,
+ class,
+ type,
+ answer,
+ anslen);
#elif defined(HAVE___RES_NQUERY)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, __res_nquery);
+ rwrap_bind_symbol_libresolv(__res_nquery);
- return rwrap.fns.libc___res_nquery(state,
- dname,
- class,
- type,
- answer,
- anslen);
+ return rwrap.libresolv.symbols._libc___res_nquery.f(state,
+ dname,
+ class,
+ type,
+ answer,
+ anslen);
#else
#error "No res_nquery function"
#endif
@@ -1246,24 +1263,24 @@
unsigned char *answer,
int anslen)
{
-#if defined(HAVE_RES_NSEARCH)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, res_nsearch);
+#if !defined(res_nsearch) && defined(HAVE_RES_NSEARCH)
+ rwrap_bind_symbol_libresolv(res_nsearch);
- return rwrap.fns.libc_res_nsearch(state,
- dname,
- class,
- type,
- answer,
- anslen);
+ return rwrap.libresolv.symbols._libc_res_nsearch.f(state,
+ dname,
+ class,
+ type,
+ answer,
+ anslen);
#elif defined(HAVE___RES_NSEARCH)
- rwrap_load_lib_function(RWRAP_LIBRESOLV, __res_nsearch);
+ rwrap_bind_symbol_libresolv(__res_nsearch);
- return rwrap.fns.libc___res_nsearch(state,
- dname,
- class,
- type,
- answer,
- anslen);
+ return rwrap.libresolv.symbols._libc___res_nsearch.f(state,
+ dname,
+ class,
+ type,
+ answer,
+ anslen);
#else
#error "No res_nsearch function"
#endif
@@ -1418,7 +1435,7 @@
return rc;
}
-#if defined(HAVE_RES_NINIT)
+#if !defined(res_ninit) && defined(HAVE_RES_NINIT)
int res_ninit(struct __res_state *state)
#elif defined(HAVE___RES_NINIT)
int __res_ninit(struct __res_state *state)
@@ -1442,7 +1459,7 @@
return rc;
}
-#if defined(HAVE_RES_INIT)
+#if !defined(res_ninit) && defined(HAVE_RES_INIT)
int res_init(void)
#elif defined(HAVE___RES_INIT)
int __res_init(void)
@@ -1472,7 +1489,7 @@
#endif
}
-#if defined(HAVE_RES_NCLOSE)
+#if !defined(res_nclose) && defined(HAVE_RES_NCLOSE)
void res_nclose(struct __res_state *state)
#elif defined(HAVE___RES_NCLOSE)
void __res_nclose(struct __res_state *state)
@@ -1545,7 +1562,7 @@
return rc;
}
-#if defined(HAVE_RES_NQUERY)
+#if !defined(res_nquery) && defined(HAVE_RES_NQUERY)
int res_nquery(struct __res_state *state,
const char *dname,
int class,
@@ -1591,7 +1608,7 @@
return rc;
}
-#if defined(HAVE_RES_QUERY)
+#if !defined(res_query) && defined(HAVE_RES_QUERY)
int res_query(const char *dname,
int class,
int type,
@@ -1653,7 +1670,7 @@
return rc;
}
-#if defined(HAVE_RES_NSEARCH)
+#if !defined(res_nsearch) && defined(HAVE_RES_NSEARCH)
int res_nsearch(struct __res_state *state,
const char *dname,
int class,
@@ -1673,7 +1690,7 @@
}
/****************************************************************************
- * RES_QUERY
+ * RES_SEARCH
***************************************************************************/
static int rwrap_res_search(const char *dname,
@@ -1699,7 +1716,7 @@
return rc;
}
-#if defined(HAVE_RES_SEARCH)
+#if !defined(res_search) && defined(HAVE_RES_SEARCH)
int res_search(const char *dname,
int class,
int type,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/tests/dns_srv.c new/resolv_wrapper-1.1.3/tests/dns_srv.c
--- old/resolv_wrapper-1.1.1/tests/dns_srv.c 2014-11-07 10:27:45.000000000 +0100
+++ new/resolv_wrapper-1.1.3/tests/dns_srv.c 2015-08-18 12:28:45.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)gmail.com>
+ * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)posteo.se>
*
* All rights reserved.
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/tests/test_dns_fake.c new/resolv_wrapper-1.1.3/tests/test_dns_fake.c
--- old/resolv_wrapper-1.1.1/tests/test_dns_fake.c 2014-12-03 10:54:58.000000000 +0100
+++ new/resolv_wrapper-1.1.3/tests/test_dns_fake.c 2015-08-18 12:28:45.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)gmail.com>
+ * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)posteo.se>
*
* All rights reserved.
*
@@ -563,21 +563,21 @@
{
int rc;
- const UnitTest tests[] = {
- unit_test(test_res_fake_a_query),
- unit_test(test_res_fake_a_query_case_insensitive),
- unit_test(test_res_fake_a_query_trailing_dot),
- unit_test(test_res_fake_a_query_notfound),
- unit_test(test_res_fake_aaaa_query),
- unit_test(test_res_fake_aaaa_query_notfound),
- unit_test(test_res_fake_srv_query),
- unit_test(test_res_fake_srv_query_minimal),
- unit_test(test_res_fake_soa_query),
- unit_test(test_res_fake_cname_query),
- unit_test(test_res_fake_a_via_cname),
+ const struct CMUnitTest fake_tests[] = {
+ cmocka_unit_test(test_res_fake_a_query),
+ cmocka_unit_test(test_res_fake_a_query_case_insensitive),
+ cmocka_unit_test(test_res_fake_a_query_trailing_dot),
+ cmocka_unit_test(test_res_fake_a_query_notfound),
+ cmocka_unit_test(test_res_fake_aaaa_query),
+ cmocka_unit_test(test_res_fake_aaaa_query_notfound),
+ cmocka_unit_test(test_res_fake_srv_query),
+ cmocka_unit_test(test_res_fake_srv_query_minimal),
+ cmocka_unit_test(test_res_fake_soa_query),
+ cmocka_unit_test(test_res_fake_cname_query),
+ cmocka_unit_test(test_res_fake_a_via_cname),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(fake_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/tests/test_real_res_query.c new/resolv_wrapper-1.1.3/tests/test_real_res_query.c
--- old/resolv_wrapper-1.1.1/tests/test_real_res_query.c 2014-12-03 10:54:58.000000000 +0100
+++ new/resolv_wrapper-1.1.3/tests/test_real_res_query.c 2015-08-18 12:28:45.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)gmail.com>
+ * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)posteo.se>
*
* 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
@@ -189,12 +189,12 @@
{
int rc;
- const UnitTest tests[] = {
- unit_test(test_res_query_a_record),
- unit_test(test_res_query_srv_record),
+ const struct CMUnitTest real_tests[] = {
+ cmocka_unit_test(test_res_query_a_record),
+ cmocka_unit_test(test_res_query_srv_record),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(real_tests, NULL, NULL);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/tests/test_res_init.c new/resolv_wrapper-1.1.3/tests/test_res_init.c
--- old/resolv_wrapper-1.1.1/tests/test_res_init.c 2014-11-07 10:27:45.000000000 +0100
+++ new/resolv_wrapper-1.1.3/tests/test_res_init.c 2015-08-17 10:27:53.000000000 +0200
@@ -23,7 +23,7 @@
char *resolv_conf_path;
};
-static void setup(void **state)
+static int setup(void **state)
{
struct resolv_conf_test_state *test_state;
@@ -40,15 +40,17 @@
assert_non_null(test_state->resolv_conf);
*state = test_state;
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
struct resolv_conf_test_state *test_state;
test_state = (struct resolv_conf_test_state *) *state;
- if (test_state == NULL) return;
+ if (test_state == NULL) return -1;
if (test_state->resolv_conf) {
fclose(test_state->resolv_conf);
@@ -64,6 +66,8 @@
}
free(test_state);
+
+ return 0;
}
static void test_res_ninit(void **state)
@@ -195,11 +199,12 @@
int main(void) {
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_res_ninit, setup, teardown),
- unit_test(test_res_ninit_enoent),
+ const struct CMUnitTest init_tests[] = {
+ cmocka_unit_test_setup_teardown(test_res_ninit, setup, teardown),
+ cmocka_unit_test(test_res_ninit_enoent),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(init_tests, NULL, NULL);
+
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resolv_wrapper-1.1.1/tests/test_res_query_search.c new/resolv_wrapper-1.1.3/tests/test_res_query_search.c
--- old/resolv_wrapper-1.1.1/tests/test_res_query_search.c 2014-11-07 10:27:45.000000000 +0100
+++ new/resolv_wrapper-1.1.3/tests/test_res_query_search.c 2015-08-24 15:16:51.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)gmail.com>
+ * Copyright (C) Jakub Hrozek 2014 <jakub.hrozek(a)posteo.se>
*
* All rights reserved.
*
@@ -51,18 +51,22 @@
#define ANSIZE 256
-static void setup_dns_srv_ipv4(void **state)
+static int setup_dns_srv_ipv4(void **state)
{
torture_setup_dns_srv_ipv4(state);
setenv("RESOLV_WRAPPER_CONF", torture_server_resolv_conf(state), 1);
+
+ return 0;
}
-static void teardown(void **state)
+static int teardown(void **state)
{
torture_teardown_dns_srv(state);
+
+ return 0;
}
-static void test_res_query(void **state)
+static void test_res_nquery(void **state)
{
int rv;
struct __res_state dnsstate;
@@ -98,7 +102,38 @@
res_nclose(&dnsstate);
}
-static void test_res_search(void **state)
+static void test_res_query(void **state)
+{
+ int rv;
+ unsigned char answer[ANSIZE];
+ char addr[INET_ADDRSTRLEN];
+ ns_msg handle;
+ ns_rr rr; /* expanded resource record */
+
+ (void) state; /* unused */
+
+ rv = res_query("www.cwrap.org", ns_c_in, ns_t_a,
+ answer, sizeof(answer));
+ assert_int_not_equal(rv, -1);
+
+ ns_initparse(answer, sizeof(answer), &handle);
+ /*
+ * The query must finish w/o an error, have one answer and the answer
+ * must be a parseable RR of type A and have the address that our
+ * test server sends.
+ */
+ assert_int_equal(ns_msg_getflag(handle, ns_f_rcode), ns_r_noerror);
+ assert_int_equal(ns_msg_count(handle, ns_s_an), 1);
+ assert_int_equal(ns_parserr(&handle, ns_s_an, 0, &rr), 0);
+ assert_int_equal(ns_rr_type(rr), ns_t_a);
+ assert_non_null(inet_ntop(AF_INET, ns_rr_rdata(rr),
+ addr, sizeof(addr)));
+ assert_string_equal(addr, "127.0.10.10");
+
+ res_close();
+}
+
+static void test_res_nsearch(void **state)
{
int rv;
struct __res_state dnsstate;
@@ -133,20 +168,56 @@
res_nclose(&dnsstate);
}
+static void test_res_search(void **state)
+{
+ int rv;
+ unsigned char answer[ANSIZE];
+ char addr[INET_ADDRSTRLEN];
+ ns_msg handle;
+ ns_rr rr; /* expanded resource record */
+
+ (void) state; /* unused */
+
+ rv = res_search("www.cwrap.org", ns_c_in, ns_t_a,
+ answer, sizeof(answer));
+ assert_int_not_equal(rv, -1);
+
+ ns_initparse(answer, sizeof(answer), &handle);
+ /* The query must finish w/o an error, have one answer and the answer
+ * must be a parseable RR of type A and have the address that our
+ * test server sends
+ */
+ assert_int_equal(ns_msg_getflag(handle, ns_f_rcode), ns_r_noerror);
+ assert_int_equal(ns_msg_count(handle, ns_s_an), 1);
+ assert_int_equal(ns_parserr(&handle, ns_s_an, 0, &rr), 0);
+ assert_int_equal(ns_rr_type(rr), ns_t_a);
+ assert_non_null(inet_ntop(AF_INET, ns_rr_rdata(rr),
+ addr, sizeof(addr)));
+ assert_string_equal(addr, "127.0.10.10");
+
+ res_close();
+}
+
int main(void)
{
int rc;
- const UnitTest tests[] = {
- unit_test_setup_teardown(test_res_query,
- setup_dns_srv_ipv4,
- teardown),
- unit_test_setup_teardown(test_res_search,
- setup_dns_srv_ipv4,
- teardown),
+ const struct CMUnitTest res_tests[] = {
+ cmocka_unit_test_setup_teardown(test_res_nquery,
+ setup_dns_srv_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_res_query,
+ setup_dns_srv_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_res_nsearch,
+ setup_dns_srv_ipv4,
+ teardown),
+ cmocka_unit_test_setup_teardown(test_res_search,
+ setup_dns_srv_ipv4,
+ teardown),
};
- rc = run_tests(tests);
+ rc = cmocka_run_group_tests(res_tests, NULL, NULL);
return rc;
}
1
0
Hello community,
here is the log from the commit of package sysstat for openSUSE:Factory checked in at 2015-09-09 20:21:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysstat (Old)
and /work/SRC/openSUSE:Factory/.sysstat.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysstat"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sysstat/sysstat.changes 2015-06-24 20:52:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sysstat.new/sysstat.changes 2015-09-09 20:21:26.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Sep 9 11:10:04 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 11.0.6
+ * Check /proc/net/snmp format to collect ICMP statistics at
+ their right positions.
+ * ioconf.c: Fix several ressource leaks.
+ * mpstat: Fix alignment output, really.
+ * [Sampsa Kiiskinen]: Fix bug in isag.
+ * iostat manual page updated.
+ * CREDITS file updated.
+
+-------------------------------------------------------------------
Old:
----
sysstat-11.0.5.tar.xz
New:
----
sysstat-11.0.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysstat.spec ++++++
--- /var/tmp/diff_new_pack.4ZxHUb/_old 2015-09-09 20:21:27.000000000 +0200
+++ /var/tmp/diff_new_pack.4ZxHUb/_new 2015-09-09 20:21:27.000000000 +0200
@@ -17,7 +17,7 @@
Name: sysstat
-Version: 11.0.5
+Version: 11.0.6
Release: 0
Summary: Sar and Iostat Commands for Linux
License: GPL-2.0+
++++++ sysstat-11.0.5.tar.xz -> sysstat-11.0.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/CHANGES new/sysstat-11.0.6/CHANGES
--- old/sysstat-11.0.5/CHANGES 2015-06-12 12:02:29.000000000 +0200
+++ new/sysstat-11.0.6/CHANGES 2015-08-24 17:14:37.000000000 +0200
@@ -1,5 +1,14 @@
Changes:
+2015/08/24: Version 11.0.6 - Sebastien Godard (sysstat <at> orange.fr)
+ * Check /proc/net/snmp format to collect ICMP statistics at
+ their right positions.
+ * ioconf.c: Fix several ressource leaks.
+ * mpstat: Fix alignment output, really.
+ * [Sampsa Kiiskinen]: Fix bug in isag.
+ * iostat manual page updated.
+ * CREDITS file updated.
+
2015/06/12: Version 11.0.5 - Sebastien Godard (sysstat <at> orange.fr)
* [Peter Schiffer]: Fixed and simplified some math expressions
in pr_stats.c.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/CREDITS new/sysstat-11.0.6/CREDITS
--- old/sysstat-11.0.5/CREDITS 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/CREDITS 2015-08-24 17:15:31.000000000 +0200
@@ -175,6 +175,7 @@
Jurriaan <thunder7@xs4[...].nl>
Jonathan Kamens <jik@kam[...].us>
Ilya Katsnelson <ilya.katsnelson@mot[...].com>
+ Sampsa Kiiskinen <tuplanolla@gma[...].com>
Mike Kobler <mkobler@gma[...].com>
John Lau <johnlcf@gma[...].com>
Byeong-taek Lee <btlee@psy[...].kr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/configure new/sysstat-11.0.6/configure
--- old/sysstat-11.0.5/configure 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/configure 2015-08-24 17:13:49.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for sysstat 11.0.5.
+# Generated by GNU Autoconf 2.69 for sysstat 11.0.6.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
# Identity of this package.
PACKAGE_NAME='sysstat'
PACKAGE_TARNAME='sysstat'
-PACKAGE_VERSION='11.0.5'
-PACKAGE_STRING='sysstat 11.0.5'
+PACKAGE_VERSION='11.0.6'
+PACKAGE_STRING='sysstat 11.0.6'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1306,7 +1306,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures sysstat 11.0.5 to adapt to many kinds of systems.
+\`configure' configures sysstat 11.0.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1367,7 +1367,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of sysstat 11.0.5:";;
+ short | recursive ) echo "Configuration of sysstat 11.0.6:";;
esac
cat <<\_ACEOF
@@ -1486,7 +1486,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-sysstat configure 11.0.5
+sysstat configure 11.0.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1905,7 +1905,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by sysstat $as_me 11.0.5, which was
+It was created by sysstat $as_me 11.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5964,7 +5964,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by sysstat $as_me 11.0.5, which was
+This file was extended by sysstat $as_me 11.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6017,7 +6017,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-sysstat config.status 11.0.5
+sysstat config.status 11.0.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/configure.in new/sysstat-11.0.6/configure.in
--- old/sysstat-11.0.5/configure.in 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/configure.in 2015-08-24 17:13:49.000000000 +0200
@@ -4,7 +4,7 @@
# Modified by Sebastien Godard (sysstat <at> orange.fr)
# Initialization of $PACKAGE_VERSION and $PACKAGE_NAME variables
-AC_INIT(sysstat, 11.0.5)
+AC_INIT(sysstat, 11.0.6)
# Ensure that a recent enough version of Autoconf is being used
AC_PREREQ(2.53)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/contrib/isag/isag.in new/sysstat-11.0.6/contrib/isag/isag.in
--- old/sysstat-11.0.5/contrib/isag/isag.in 2009-09-12 20:59:04.000000000 +0200
+++ new/sysstat-11.0.6/contrib/isag/isag.in 2015-07-09 16:28:50.000000000 +0200
@@ -990,6 +990,20 @@
if { 0 != $f_grid } {
puts $fp "set grid"
}
+
+ # The last event recorded by sysstat may come after 23:59:59 and
+ # make isag think it happened at the beginning of the day.
+ # This shuffle works around the assumption by
+ # discarding each point that seems to travel backwards in time.
+ # Enforcing an ordered domain is a good idea regardless.
+ puts $fp "x2 = x1 = NaN"
+ puts $fp "cache(x) = (x2 = x1, x1 = x)"
+ regsub -all {using ([0-9]+):([0-9]+)} $plot_str {using \1:(cache($\1), $\1 < x2 ? 1 / 0 : $\2)} plot_str
+ # It is worth noting that in gnuplot
+ # both 1 / 0 and NaN produce the same value, but
+ # behave differently depending on context.
+ # The same applies to \1 and ($\1) for no reason.
+
puts $fp "plot $plot_str"
close $fp
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/ioconf.c new/sysstat-11.0.6/ioconf.c
--- old/sysstat-11.0.5/ioconf.c 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/ioconf.c 2015-08-24 17:13:49.000000000 +0200
@@ -352,6 +352,18 @@
ioc_parsed = 1;
return (count);
+
+free_and_return:
+ /* Free pointers and return */
+ fclose(fp);
+ if (blkp) {
+ free(blkp);
+ }
+ if (iocp) {
+ free(iocp);
+ }
+
+ return 0;
}
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/ioconf.h new/sysstat-11.0.6/ioconf.h
--- old/sysstat-11.0.5/ioconf.h 2015-04-06 17:54:19.000000000 +0200
+++ new/sysstat-11.0.6/ioconf.h 2015-07-13 17:19:43.000000000 +0200
@@ -35,7 +35,7 @@
if (P == NULL) { \
perror("malloc"); \
ioc_free(); \
- return 0; \
+ goto free_and_return; \
} \
} \
} \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/man/iostat.in new/sysstat-11.0.6/man/iostat.in
--- old/sysstat-11.0.5/man/iostat.in 2015-02-13 16:03:09.000000000 +0100
+++ new/sysstat-11.0.6/man/iostat.in 2015-08-24 17:13:49.000000000 +0200
@@ -1,4 +1,4 @@
-.TH IOSTAT 1 "NOVEMBER 2014" Linux "Linux User's Manual" -*- nroff -*-
+.TH IOSTAT 1 "AUGUST 2015" Linux "Linux User's Manual" -*- nroff -*-
.SH NAME
iostat \- Report Central Processing Unit (CPU) statistics and input/output
statistics for devices and partitions.
@@ -64,12 +64,7 @@
The
.I interval
parameter specifies the amount of time in seconds between
-each report. The first report contains statistics for the time since
-system startup (boot), unless the
-.B -y
-option is used (in this case, this report is omitted).
-Each subsequent report contains statistics
-collected during the interval since the previous report. The
+each report. The
.I count
parameter can be specified in conjunction with the
.I interval
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/mpstat.c new/sysstat-11.0.6/mpstat.c
--- old/sysstat-11.0.5/mpstat.c 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/mpstat.c 2015-08-24 17:13:49.000000000 +0200
@@ -261,10 +261,10 @@
/* Width is IRQ name + 2 for the trailing "/s" */
colwidth[j] = strlen(p0->irq_name) + 2;
/*
- * Normal space for printing a number is 14 chars
- * (space + 10 digits + period + mantissa).
+ * Normal space for printing a number is 11 chars
+ * (space + 10 digits including the period).
*/
- if (colwidth[j] < 14) {
+ if (colwidth[j] < 10) {
colwidth[j] = 10;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/nls/sysstat.pot new/sysstat-11.0.6/nls/sysstat.pot
--- old/sysstat-11.0.5/nls/sysstat.pot 2015-06-12 12:05:04.000000000 +0200
+++ new/sysstat-11.0.6/nls/sysstat.pot 2015-08-24 17:22:04.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: sysstat <at> orange.fr\n"
-"POT-Creation-Date: 2015-06-12 12:05+0200\n"
+"POT-Creation-Date: 2015-08-24 17:22+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -17,39 +17,24 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: sadf_misc.c:621
-#, c-format
-msgid "System activity data file: %s (%#x)\n"
-msgstr ""
-
-#: sadf_misc.c:630
-#, c-format
-msgid "Host: "
-msgstr ""
-
-#: sadf_misc.c:636
+#: cifsiostat.c:70 mpstat.c:90 pidstat.c:87 iostat.c:86 sar.c:94
+#: nfsiostat-sysstat.c:69
#, c-format
-msgid "Number of CPU for last samples in file: %u\n"
-msgstr ""
-
-#: sadf_misc.c:640
-#, c-format
-msgid "File time: "
-msgstr ""
-
-#: sadf_misc.c:645
-#, c-format
-msgid "Size of a long int: %d\n"
+msgid "Usage: %s [ options ] [ <interval> [ <count> ] ]\n"
msgstr ""
-#: sadf_misc.c:651
+#: cifsiostat.c:74 nfsiostat-sysstat.c:73
#, c-format
-msgid "List of activities:\n"
+msgid ""
+"Options are:\n"
+"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n"
msgstr ""
-#: sadf_misc.c:664
+#: cifsiostat.c:77 nfsiostat-sysstat.c:76
#, c-format
-msgid "\t[Unknown activity format]"
+msgid ""
+"Options are:\n"
+"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n"
msgstr ""
#: sadc.c:87
@@ -75,7 +60,7 @@
msgid "Cannot write system activity file header: %s\n"
msgstr ""
-#: sadc.c:768 sadc.c:777 sadc.c:845 ioconf.c:494 rd_stats.c:69
+#: sadc.c:768 sadc.c:777 sadc.c:845 ioconf.c:506 rd_stats.c:69
#: sa_common.c:1245 count.c:118
#, c-format
msgid "Cannot open %s: %s\n"
@@ -86,61 +71,170 @@
msgid "Cannot append data to that file (%s)\n"
msgstr ""
-#: common.c:62
+#: mpstat.c:93
#, c-format
-msgid "sysstat version %s\n"
+msgid ""
+"Options are:\n"
+"[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n"
+"[ -P { <cpu> [,...] | ON | ALL } ]\n"
+msgstr ""
+
+#: mpstat.c:616 pidstat.c:2263 sar.c:402
+msgid "Average:"
msgstr ""
-#: cifsiostat.c:70 mpstat.c:90 sar.c:94 nfsiostat-sysstat.c:69 pidstat.c:87
-#: iostat.c:86
+#: mpstat.c:985
#, c-format
-msgid "Usage: %s [ options ] [ <interval> [ <count> ] ]\n"
+msgid "Not that many processors!\n"
msgstr ""
-#: cifsiostat.c:74 nfsiostat-sysstat.c:73
+#: sadf.c:86
#, c-format
msgid ""
-"Options are:\n"
-"[ -h ] [ -k | -m ] [ -t ] [ -V ] [ --debuginfo ]\n"
+"Usage: %s [ options ] [ <interval> [ <count> ] ] [ <datafile> | -[0-9]+ ]\n"
msgstr ""
-#: cifsiostat.c:77 nfsiostat-sysstat.c:76
+#: sadf.c:89
#, c-format
msgid ""
"Options are:\n"
-"[ -h ] [ -k | -m ] [ -t ] [ -V ]\n"
+"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n"
+"[ -P { <cpu> [,...] | ALL } ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]\n"
+"[ -- <sar_options> ]\n"
msgstr ""
-#: sadf.c:86
+#: sa_common.c:1050
+#, c-format
+msgid "Error while reading system activity file: %s\n"
+msgstr ""
+
+#: sa_common.c:1060
+#, c-format
+msgid "End of system activity file unexpected\n"
+msgstr ""
+
+#: sa_common.c:1079
+#, c-format
+msgid "File created by sar/sadc from sysstat version %d.%d.%d"
+msgstr ""
+
+#: sa_common.c:1110
+#, c-format
+msgid "Invalid system activity file: %s\n"
+msgstr ""
+
+#: sa_common.c:1117
#, c-format
msgid ""
-"Usage: %s [ options ] [ <interval> [ <count> ] ] [ <datafile> | -[0-9]+ ]\n"
+"Current sysstat version can no longer read the format of this file (%#x)\n"
msgstr ""
-#: sadf.c:89
+#: sa_common.c:1248
+#, c-format
+msgid "Please check if data collecting is enabled\n"
+msgstr ""
+
+#: sa_common.c:1370
+#, c-format
+msgid "Requested activities not available in file %s\n"
+msgstr ""
+
+#: sa_common.c:1540 iostat.c:1385
+#, c-format
+msgid "Invalid type of persistent device name\n"
+msgstr ""
+
+#: pidstat.c:90
#, c-format
msgid ""
"Options are:\n"
-"[ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ]\n"
-"[ -P { <cpu> [,...] | ALL } ] [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]\n"
-"[ -- <sar_options> ]\n"
+"[ -d ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U "
+"[ <username> ] ]\n"
+"[ -u ] [ -V ] [ -v ] [ -w ] [ -C <command> ] [ -G <process_name> ]\n"
+"[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n"
msgstr ""
-#: mpstat.c:93
+#: pidstat.c:219 sar.c:1084
+#, c-format
+msgid "Requested activities not available\n"
+msgstr ""
+
+#: sadf_misc.c:621
+#, c-format
+msgid "System activity data file: %s (%#x)\n"
+msgstr ""
+
+#: sadf_misc.c:630
+#, c-format
+msgid "Host: "
+msgstr ""
+
+#: sadf_misc.c:636
+#, c-format
+msgid "Number of CPU for last samples in file: %u\n"
+msgstr ""
+
+#: sadf_misc.c:640
+#, c-format
+msgid "File time: "
+msgstr ""
+
+#: sadf_misc.c:645
+#, c-format
+msgid "Size of a long int: %d\n"
+msgstr ""
+
+#: sadf_misc.c:651
+#, c-format
+msgid "List of activities:\n"
+msgstr ""
+
+#: sadf_misc.c:664
+#, c-format
+msgid "\t[Unknown activity format]"
+msgstr ""
+
+#: count.c:168
+#, c-format
+msgid "Cannot handle so many processors!\n"
+msgstr ""
+
+#: iostat.c:89
#, c-format
msgid ""
"Options are:\n"
-"[ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU | ALL } ]\n"
-"[ -P { <cpu> [,...] | ON | ALL } ]\n"
+"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
+"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
+"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
+"[ <device> [...] | ALL ] [ --debuginfo ]\n"
msgstr ""
-#: mpstat.c:616 sar.c:402 pidstat.c:2263
-msgid "Average:"
+#: iostat.c:95
+#, c-format
+msgid ""
+"Options are:\n"
+"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
+"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
+"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
+"[ <device> [...] | ALL ]\n"
msgstr ""
-#: mpstat.c:985
+#: iostat.c:328
#, c-format
-msgid "Not that many processors!\n"
+msgid "Cannot find disk data\n"
+msgstr ""
+
+#: common.c:62
+#, c-format
+msgid "sysstat version %s\n"
+msgstr ""
+
+#: pr_stats.c:2354 pr_stats.c:2367 pr_stats.c:2467 pr_stats.c:2479
+msgid "Summary"
+msgstr ""
+
+#: pr_stats.c:2405
+msgid "Other devices not listed here"
msgstr ""
#: sar.c:109
@@ -297,11 +391,6 @@
msgid "Inconsistent input data\n"
msgstr ""
-#: sar.c:1084 pidstat.c:219
-#, c-format
-msgid "Requested activities not available\n"
-msgstr ""
-
#: sar.c:1374
#, c-format
msgid "-f and -o options are mutually exclusive\n"
@@ -316,92 +405,3 @@
#, c-format
msgid "Cannot find the data collector (%s)\n"
msgstr ""
-
-#: sa_common.c:1050
-#, c-format
-msgid "Error while reading system activity file: %s\n"
-msgstr ""
-
-#: sa_common.c:1060
-#, c-format
-msgid "End of system activity file unexpected\n"
-msgstr ""
-
-#: sa_common.c:1079
-#, c-format
-msgid "File created by sar/sadc from sysstat version %d.%d.%d"
-msgstr ""
-
-#: sa_common.c:1110
-#, c-format
-msgid "Invalid system activity file: %s\n"
-msgstr ""
-
-#: sa_common.c:1117
-#, c-format
-msgid ""
-"Current sysstat version can no longer read the format of this file (%#x)\n"
-msgstr ""
-
-#: sa_common.c:1248
-#, c-format
-msgid "Please check if data collecting is enabled\n"
-msgstr ""
-
-#: sa_common.c:1370
-#, c-format
-msgid "Requested activities not available in file %s\n"
-msgstr ""
-
-#: sa_common.c:1540 iostat.c:1385
-#, c-format
-msgid "Invalid type of persistent device name\n"
-msgstr ""
-
-#: pidstat.c:90
-#, c-format
-msgid ""
-"Options are:\n"
-"[ -d ] [ -h ] [ -I ] [ -l ] [ -R ] [ -r ] [ -s ] [ -t ] [ -U "
-"[ <username> ] ]\n"
-"[ -u ] [ -V ] [ -v ] [ -w ] [ -C <command> ] [ -G <process_name> ]\n"
-"[ -p { <pid> [,...] | SELF | ALL } ] [ -T { TASK | CHILD | ALL } ]\n"
-msgstr ""
-
-#: iostat.c:89
-#, c-format
-msgid ""
-"Options are:\n"
-"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
-"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
-"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
-"[ <device> [...] | ALL ] [ --debuginfo ]\n"
-msgstr ""
-
-#: iostat.c:95
-#, c-format
-msgid ""
-"Options are:\n"
-"[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]\n"
-"[ -j { ID | LABEL | PATH | UUID | ... } ]\n"
-"[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]\n"
-"[ <device> [...] | ALL ]\n"
-msgstr ""
-
-#: iostat.c:328
-#, c-format
-msgid "Cannot find disk data\n"
-msgstr ""
-
-#: count.c:168
-#, c-format
-msgid "Cannot handle so many processors!\n"
-msgstr ""
-
-#: pr_stats.c:2354 pr_stats.c:2367 pr_stats.c:2467 pr_stats.c:2479
-msgid "Summary"
-msgstr ""
-
-#: pr_stats.c:2405
-msgid "Other devices not listed here"
-msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/rd_stats.c new/sysstat-11.0.6/rd_stats.c
--- old/sysstat-11.0.5/rd_stats.c 2015-06-12 12:01:21.000000000 +0200
+++ new/sysstat-11.0.6/rd_stats.c 2015-08-24 17:13:49.000000000 +0200
@@ -1211,6 +1211,7 @@
{
FILE *fp;
char line[1024];
+ static char format[256] = "";
int sw = FALSE;
if ((fp = fopen(NET_SNMP, "r")) == NULL)
@@ -1220,9 +1221,7 @@
if (!strncmp(line, "Icmp:", 5)) {
if (sw) {
- sscanf(line + 5, "%lu %*u %*u %*u %*u %*u %*u "
- "%lu %lu %lu %lu %lu %lu %lu %*u %*u %*u %*u "
- "%*u %*u %lu %lu %lu %lu %lu %lu",
+ sscanf(line + 5, format,
&st_net_icmp->InMsgs,
&st_net_icmp->InEchos,
&st_net_icmp->InEchoReps,
@@ -1241,6 +1240,26 @@
break;
}
else {
+ if (!strlen(format)) {
+ if (strstr(line, "InCsumErrors")) {
+ /*
+ * New format: InCsumErrors field exists at position #3.
+ * Capture: 1,9,10,11,12,13,14,15,22,23,24,25,26,27.
+ */
+ strcpy(format, "%lu %*u %*u %*u %*u %*u %*u %*u "
+ "%lu %lu %lu %lu %lu %lu %lu %*u %*u %*u %*u "
+ "%*u %*u %lu %lu %lu %lu %lu %lu");
+ }
+ else {
+ /*
+ * Old format: InCsumErrors field doesn't exist.
+ * Capture: 1,8,9,10,11,12,13,14,21,22,23,24,25,26.
+ */
+ strcpy(format, "%lu %*u %*u %*u %*u %*u %*u "
+ "%lu %lu %lu %lu %lu %lu %lu %*u %*u %*u %*u "
+ "%*u %*u %lu %lu %lu %lu %lu %lu");
+ }
+ }
sw = TRUE;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/sysstat-11.0.5.lsm new/sysstat-11.0.6/sysstat-11.0.5.lsm
--- old/sysstat-11.0.5/sysstat-11.0.5.lsm 2015-06-12 12:06:02.000000000 +0200
+++ new/sysstat-11.0.6/sysstat-11.0.5.lsm 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-Begin4
-Title: sysstat - the sar, sadf, mpstat, iostat, nfsiostat-sysstat, cifsiostat and pidstat commands for Linux
-Version: 11.0.5
-Entered-date: 2015-06-12
-Description: The sysstat package contains the sar, sadf, mpstat, iostat,
- pidstat, nfsiostat-sysstat, cifsiostat and sa tools for Linux.
- The sar command collects and reports system activity
- information.
- The information collected by sar can be saved in a file
- in a binary format for future inspection.
- The statistics reported by sar concern I/O transfer rates,
- paging activity, process-related activities, interrupts,
- network activity, memory and swap space utilization, CPU
- utilization, kernel activities and TTY statistics, among
- others. Both UP and SMP machines are fully supported.
- The iostat command reports CPU utilization
- and I/O statistics for disks. The mpstat command reports
- global and per-processor statistics. The sadf command
- is used to display data collected by sar in various
- formats (XML, database-friendly, etc.).
- The pidstat command reports statistics for Linux tasks (processes).
- The nfsiostat-sysstat command reports I/O statistics for network filesystems.
- The cifsiostat command reports I/O statistics for CIFS filesystems.
- NB: Send bugs, patches, suggestions and/or questions to
- (sysstat [at] orange.fr).
- URL: http://pagesperso-orange.fr/sebastien.godard/
-Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat-sysstat, cifsiostat, system accounting, performance, tuning
-Author: sysstat [at] orange.fr (Sebastien Godard)
-Maintained-by: sysstat [at] orange.fr (Sebastien Godard)
-Primary-site: http://pagesperso-orange.fr/sebastien.godard/
- 288kB sysstat-11.0.5.tar.xz
-Alternate-site:
-Copying-policy: GPL
-End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/sysstat-11.0.5.spec new/sysstat-11.0.6/sysstat-11.0.5.spec
--- old/sysstat-11.0.5/sysstat-11.0.5.spec 2015-06-12 12:04:30.000000000 +0200
+++ new/sysstat-11.0.6/sysstat-11.0.5.spec 1970-01-01 01:00:00.000000000 +0100
@@ -1,80 +0,0 @@
-Summary: SAR, SADF, MPSTAT, IOSTAT, NFSIOSTAT-SYSSTAT, CIFSIOSTAT and PIDSTAT for Linux
-Name: sysstat
-Version: 11.0.5
-Release: 1
-License: GPL
-Group: Applications/System
-Source0: %{name}-%{version}.tar.gz
-URL: http://pagesperso-orange.fr/sebastien.godard/
-Packager: Sebastien Godard <sysstat _at_ orange.fr>
-BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
-Requires: gettext
-
-%description
-The sysstat package contains the sar, sadf, mpstat, iostat, pidstat,
-nfsiostat-sysstat, cifsiostat and sa tools for Linux.
-The sar command collects and reports system activity information.
-The information collected by sar can be saved in a file in a binary
-format for future inspection. The statistics reported by sar concern
-I/O transfer rates, paging activity, process-related activities,
-interrupts, network activity, memory and swap space utilization, CPU
-utilization, kernel activities and TTY statistics, among others. Both
-UP and SMP machines are fully supported.
-The sadf command may be used to display data collected by sar in
-various formats (CSV, XML, etc.).
-The iostat command reports CPU utilization and I/O statistics for disks.
-The mpstat command reports global and per-processor statistics.
-The pidstat command reports statistics for Linux tasks (processes).
-The nfsiostat-sysstat command reports I/O statistics for network filesystems.
-The cifsiostat command reports I/O statistics for CIFS filesystems.
-
-%prep
-%setup
-
-%build
-./configure --prefix=%{_prefix} \
- --disable-man-group \
- sa_lib_dir=%{_libdir}/sa \
- --mandir=%{_mandir} \
- DESTDIR=$RPM_BUILD_ROOT
-make
-
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/var/log/sa
-
-make install
-
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
-install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
-install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
-mkdir -p $RPM_BUILD_ROOT/etc/cron.d
-install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
-cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
-cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
-mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
-cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(644,root,root,755)
-%doc %{_datadir}/doc/sysstat-%{version}/*
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/sa/*
-%attr(644,root,root) %{_mandir}/man*/*
-%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
-%attr(755,root,root) %dir /var/log/sa
-%attr(755,root,root) /etc/rc.d/init.d/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat
-%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
-%attr(755,root,root) /etc/rc2.d/S01sysstat
-%attr(755,root,root) /etc/rc3.d/S01sysstat
-%attr(755,root,root) /etc/rc5.d/S01sysstat
-%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/sysstat-11.0.6.lsm new/sysstat-11.0.6/sysstat-11.0.6.lsm
--- old/sysstat-11.0.5/sysstat-11.0.6.lsm 1970-01-01 01:00:00.000000000 +0100
+++ new/sysstat-11.0.6/sysstat-11.0.6.lsm 2015-08-24 17:23:49.000000000 +0200
@@ -0,0 +1,34 @@
+Begin4
+Title: sysstat - the sar, sadf, mpstat, iostat, pidstat, nfsiostat-sysstat and cifsiostat commands for Linux
+Version: 11.0.6
+Entered-date: 2015-08-24
+Description: The sysstat package contains the sar, sadf, mpstat, iostat,
+ pidstat, nfsiostat-sysstat, cifsiostat and sa tools for Linux.
+ The sar command collects and reports system activity
+ information.
+ The information collected by sar can be saved in a file
+ in a binary format for future inspection.
+ The statistics reported by sar concern I/O transfer rates,
+ paging activity, process-related activities, interrupts,
+ network activity, memory and swap space utilization, CPU
+ utilization, kernel activities and TTY statistics, among
+ others. Both UP and SMP machines are fully supported.
+ The iostat command reports CPU utilization
+ and I/O statistics for disks. The mpstat command reports
+ global and per-processor statistics. The sadf command
+ is used to display data collected by sar in various
+ formats (XML, database-friendly, etc.).
+ The pidstat command reports statistics for Linux tasks (processes).
+ The nfsiostat-sysstat command reports I/O statistics for network filesystems.
+ The cifsiostat command reports I/O statistics for CIFS filesystems.
+ NB: Send bugs, patches, suggestions and/or questions to
+ (sysstat [at] orange.fr).
+ URL: http://pagesperso-orange.fr/sebastien.godard/
+Keywords: system administration, sar, sadf, iostat, mpstat, pidstat, nfsiostat-sysstat, cifsiostat, system accounting, performance, tuning
+Author: sysstat [at] orange.fr (Sebastien Godard)
+Maintained-by: sysstat [at] orange.fr (Sebastien Godard)
+Primary-site: http://pagesperso-orange.fr/sebastien.godard/
+ 298kB sysstat-11.0.6.tar.xz
+Alternate-site:
+Copying-policy: GPL
+End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sysstat-11.0.5/sysstat-11.0.6.spec new/sysstat-11.0.6/sysstat-11.0.6.spec
--- old/sysstat-11.0.5/sysstat-11.0.6.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/sysstat-11.0.6/sysstat-11.0.6.spec 2015-08-24 17:16:46.000000000 +0200
@@ -0,0 +1,80 @@
+Summary: SAR, SADF, MPSTAT, IOSTAT, PIDSTAT, NFSIOSTAT-SYSSTAT and CIFSIOSTAT for Linux
+Name: sysstat
+Version: 11.0.6
+Release: 1
+License: GPL
+Group: Applications/System
+Source0: %{name}-%{version}.tar.gz
+URL: http://pagesperso-orange.fr/sebastien.godard/
+Packager: Sebastien Godard <sysstat _at_ orange.fr>
+BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
+Requires: gettext
+
+%description
+The sysstat package contains the sar, sadf, mpstat, iostat, pidstat,
+nfsiostat-sysstat, cifsiostat and sa tools for Linux.
+The sar command collects and reports system activity information.
+The information collected by sar can be saved in a file in a binary
+format for future inspection. The statistics reported by sar concern
+I/O transfer rates, paging activity, process-related activities,
+interrupts, network activity, memory and swap space utilization, CPU
+utilization, kernel activities and TTY statistics, among others. Both
+UP and SMP machines are fully supported.
+The sadf command may be used to display data collected by sar in
+various formats (CSV, XML, etc.).
+The iostat command reports CPU utilization and I/O statistics for disks.
+The mpstat command reports global and per-processor statistics.
+The pidstat command reports statistics for Linux tasks (processes).
+The nfsiostat-sysstat command reports I/O statistics for network filesystems.
+The cifsiostat command reports I/O statistics for CIFS filesystems.
+
+%prep
+%setup
+
+%build
+./configure --prefix=%{_prefix} \
+ --disable-man-group \
+ sa_lib_dir=%{_libdir}/sa \
+ --mandir=%{_mandir} \
+ DESTDIR=$RPM_BUILD_ROOT
+make
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/var/log/sa
+
+make install
+
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m 755 sysstat $RPM_BUILD_ROOT/etc/rc.d/init.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
+install -m 644 sysstat.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/sysstat
+install -m 644 sysstat.ioconf $RPM_BUILD_ROOT/etc/sysconfig/sysstat.ioconf
+mkdir -p $RPM_BUILD_ROOT/etc/cron.d
+install -m 644 cron/sysstat.crond.sample $RPM_BUILD_ROOT/etc/cron.d/sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc2.d
+cd $RPM_BUILD_ROOT/etc/rc2.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc3.d
+cd $RPM_BUILD_ROOT/etc/rc3.d && ln -sf ../init.d/sysstat S01sysstat
+mkdir -p $RPM_BUILD_ROOT/etc/rc5.d
+cd $RPM_BUILD_ROOT/etc/rc5.d && ln -sf ../init.d/sysstat S01sysstat
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc %{_datadir}/doc/sysstat-%{version}/*
+%attr(755,root,root) %{_bindir}/*
+%attr(755,root,root) %{_libdir}/sa/*
+%attr(644,root,root) %{_mandir}/man*/*
+%attr(644,root,root) %{_datadir}/locale/*/LC_MESSAGES/sysstat.mo
+%attr(755,root,root) %dir /var/log/sa
+%attr(755,root,root) /etc/rc.d/init.d/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat
+%attr(644,root,root) /etc/sysconfig/sysstat.ioconf
+%attr(755,root,root) /etc/rc2.d/S01sysstat
+%attr(755,root,root) /etc/rc3.d/S01sysstat
+%attr(755,root,root) /etc/rc5.d/S01sysstat
+%config(noreplace) %attr(0644,root,root) /etc/cron.d/sysstat
+
Files old/sysstat-11.0.5/tapestat and new/sysstat-11.0.6/tapestat differ
1
0
Hello community,
here is the log from the commit of package gpa for openSUSE:Factory checked in at 2015-09-09 20:21:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpa (Old)
and /work/SRC/openSUSE:Factory/.gpa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpa"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpa/gpa.changes 2014-12-29 00:30:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gpa.new/gpa.changes 2015-09-09 20:21:25.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Sep 9 09:49:32 UTC 2015 - astieger(a)suse.com
+
+- update to gpa 0.9.9:
+ + fix build problem with gpgme < 1.6.1.
+- includes changes from gpa 0.9.8:
+ + Does start with the clipboard view after a key has been created.
+ + Limit the size of dialogs by truncating too long user ids.
+ + Make the window frame's close button work as expected.
+ + With a decent version of libgpgme the key algorithm and size is
+ shown using the GnuPG 2.1 format.
+
+-------------------------------------------------------------------
Old:
----
gpa-0.9.7.tar.bz2
gpa-0.9.7.tar.bz2.sig
New:
----
gpa-0.9.9.tar.bz2
gpa-0.9.9.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpa.spec ++++++
--- /var/tmp/diff_new_pack.QIvMYT/_old 2015-09-09 20:21:26.000000000 +0200
+++ /var/tmp/diff_new_pack.QIvMYT/_new 2015-09-09 20:21:26.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gpa
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: gpa
-Version: 0.9.7
+Version: 0.9.9
Release: 0
Summary: GNU Privacy Assistant
License: GPL-3.0
++++++ gpa-0.9.7.tar.bz2 -> gpa-0.9.9.tar.bz2 ++++++
++++ 11322 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ha-cluster-bootstrap for openSUSE:Factory checked in at 2015-09-09 20:21:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ha-cluster-bootstrap (Old)
and /work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ha-cluster-bootstrap"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ha-cluster-bootstrap/ha-cluster-bootstrap.changes 2015-08-29 20:05:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new/ha-cluster-bootstrap.changes 2015-09-09 20:21:24.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 04 09:32:37 UTC 2015 - kgronlund(a)suse.com
+
+- Update to version 0.4+git.1441350120.8e9abbe:
+ + Sync entire /etc/booth directory (fate#319318)
+ + Check corosync.conf before access (bsc#943227)
+ + Use update over replace to avoid deleting DC attributes (bsc#890802)
+ + Update README with a bit more detail
+
+- Remove 0001-sync-entire-booth-directory-fate-319318.patch
+
+-------------------------------------------------------------------
Old:
----
0001-sync-entire-booth-directory-fate-319318.patch
sleha-bootstrap-0.4+git.1440306826.cf7cfcf.tar.bz2
New:
----
sleha-bootstrap-0.4+git.1441350120.8e9abbe.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ha-cluster-bootstrap.spec ++++++
--- /var/tmp/diff_new_pack.P86RFd/_old 2015-09-09 20:21:24.000000000 +0200
+++ /var/tmp/diff_new_pack.P86RFd/_new 2015-09-09 20:21:24.000000000 +0200
@@ -18,7 +18,7 @@
Name: ha-cluster-bootstrap
-Version: 0.4+git.1440306826.cf7cfcf
+Version: 0.4+git.1441350120.8e9abbe
Release: 0
Summary: Pacemaker HA Cluster Bootstrap Tool
License: GPL-2.0
@@ -26,9 +26,6 @@
Url: https://github.com/tserong/sleha-bootstrap
Source: sleha-bootstrap-%{version}.tar.bz2
-# PATCH-FIX-UPSTREAM: Sync entire /etc/booth directory (fate#319318)
-Patch1: 0001-sync-entire-booth-directory-fate-319318.patch
-
Requires: csync2
Requires: ha-cluster-webui
Requires: iproute2
@@ -47,7 +44,6 @@
%prep
%setup -n sleha-bootstrap-%{version}
-%patch1 -p1
%build
%install
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.P86RFd/_old 2015-09-09 20:21:24.000000000 +0200
+++ /var/tmp/diff_new_pack.P86RFd/_new 2015-09-09 20:21:24.000000000 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/tserong/sleha-bootstrap.git</param>
- <param name="changesrevision">cf7cfcf11507bf64493a83ab6c25e1843d7a3717</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">8e9abbe8c603cda068aadbb949ebde7996e512c4</param></service></servicedata>
\ No newline at end of file
++++++ sleha-bootstrap-0.4+git.1440306826.cf7cfcf.tar.bz2 -> sleha-bootstrap-0.4+git.1441350120.8e9abbe.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/README new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/README
--- old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/README 2015-08-28 12:25:54.000000000 +0200
+++ new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/README 2015-09-04 11:32:37.000000000 +0200
@@ -1,3 +1,17 @@
HA Cluster Bootstrap
+====================
-Tool to bootstrap a Pacemaker High Availability cluster in a hurry.
+Tools to bootstrap a Pacemaker High Availability cluster in a hurry.
+
+* ha-cluster-init
+ Installs and configures the first node in a new cluster.
+
+* ha-cluster-join
+ Installs and configures new nodes to join the cluster.
+
+* ha-cluster-remove
+ Removes a node from the cluster.
+
+NOTE: This tool is most likely to work best on a SUSE-based
+distribution (SLE or openSUSE). Patches to make it cross-
+platform compatible are welcomed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/scripts/ha-cluster-init new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/scripts/ha-cluster-init
--- old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/scripts/ha-cluster-init 2015-08-28 12:25:54.000000000 +0200
+++ new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/scripts/ha-cluster-init 2015-09-04 11:32:37.000000000 +0200
@@ -137,7 +137,7 @@
{
key /etc/csync2/key_hagroup;
host $(hostname);
- include /etc/booth/booth.conf;
+ include /etc/booth;
include /etc/corosync/corosync.conf;
include /etc/corosync/authkey;
include /etc/csync2/csync2.cfg;
@@ -522,7 +522,7 @@
resource-stickiness="1" \\
migration-threshold="3"
END
- crm_configure_load replace $tmp_conf
+ crm_configure_load update $tmp_conf
# sbd fencing if applicable (getting local sbd_device here direct
# from SBD config, in case init_cluster is invoked on its own)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/scripts/ha-cluster-join new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/scripts/ha-cluster-join
--- old/sleha-bootstrap-0.4+git.1440306826.cf7cfcf/scripts/ha-cluster-join 2015-08-28 12:25:54.000000000 +0200
+++ new/sleha-bootstrap-0.4+git.1441350120.8e9abbe/scripts/ha-cluster-join 2015-09-04 11:32:37.000000000 +0200
@@ -199,6 +199,10 @@
# Bump expected_votes in corosync.conf
# TODO(must): this is rather fragile (see related code in ha-cluster-remove)
+
+ # If COROSYNC_CONF doesn't exist or is empty, we will fail here. (bsc#943227)
+ [ ! -s $COROSYNC_CONF ] && error "$COROSYNC_CONF is not readable. Please ensure that hostnames are resolvable."
+
local tmp_conf=${COROSYNC_CONF}.$$
local new_quorum=$(awk -F[^0-9] '/^[[:space:]]*expected_votes/ { print $NF + 1 };' $COROSYNC_CONF)
local two_node=0
1
0
Hello community,
here is the log from the commit of package NetworkManager-strongswan for openSUSE:Factory checked in at 2015-09-09 20:21:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-strongswan (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-strongswan.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-strongswan"
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-strongswan/NetworkManager-strongswan.changes 2015-06-11 08:23:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.NetworkManager-strongswan.new/NetworkManager-strongswan.changes 2015-09-09 20:21:23.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Sep 8 06:14:23 UTC 2015 - dimstar(a)opensuse.org
+
+- Add nm-strongswan-fix-config.patch: Fix path to NM plugins in
+ config files (boo#944769).
+- Add nm-strongswan-UI-fixup.patch: Fix broken UI (boo#944769).
+- Add libtool BuildRequires and call to autoreconf, as above patch
+ touches the build system.
+
+-------------------------------------------------------------------
New:
----
nm-strongswan-UI-fixup.patch
nm-strongswan-fix-config.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-strongswan.spec ++++++
--- /var/tmp/diff_new_pack.jJZ6uG/_old 2015-09-09 20:21:23.000000000 +0200
+++ /var/tmp/diff_new_pack.jJZ6uG/_new 2015-09-09 20:21:23.000000000 +0200
@@ -27,7 +27,13 @@
Source1: README
# PATCH-FIX-UPSTREAM nm-strongswan-service-conf.patch binli(a)opensuse.org -- Dismiss the rpmlint warning for 'send_interface'
Patch0: nm-strongswan-service-conf.patch
+# PATCH-FIX-UPSTREAM nm-strongswan-UI-fixup.patch boo#944769 dimstar(a)opensuse.org -- Fix broken UI
+Patch1: nm-strongswan-UI-fixup.patch
+# PATCH-FIX-UPSTREAM nm-strongswan-fix-config.patch boo#944769 dimstar(a)opensuse.org -- Fix path to NM plugins in config file
+Patch2: nm-strongswan-fix-config.patch
BuildRequires: intltool
+# Needed by patch2
+BuildRequires: libtool
BuildRequires: pkgconfig(NetworkManager) >= 0.9.0
BuildRequires: pkgconfig(dbus-glib-1) >= 0.30
BuildRequires: pkgconfig(gnome-keyring-1)
@@ -62,9 +68,13 @@
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
cp %{SOURCE1} README.SUSE
%build
+# Needed by patch2
+autoreconf -fiv
%configure\
--disable-static \
--disable-more-warnings
++++++ nm-strongswan-UI-fixup.patch ++++++
Index: NetworkManager-strongswan-1.3.1/properties/nm-strongswan-dialog.ui
===================================================================
--- NetworkManager-strongswan-1.3.1.orig/properties/nm-strongswan-dialog.ui
+++ NetworkManager-strongswan-1.3.1/properties/nm-strongswan-dialog.ui
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 2.12 -->
- <object class="GtkWindow" id="strongswan-widget">
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">window1</property>
- <child>
<object class="GtkVBox" id="strongswan-vbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -374,6 +370,4 @@
</packing>
</child>
</object>
- </child>
- </object>
</interface>
++++++ nm-strongswan-fix-config.patch ++++++
Index: NetworkManager-strongswan-1.3.1/nm-strongswan-service.name.in
===================================================================
--- NetworkManager-strongswan-1.3.1.orig/nm-strongswan-service.name.in
+++ NetworkManager-strongswan-1.3.1/nm-strongswan-service.name.in
@@ -5,4 +5,4 @@ program=@CHARON@
[GNOME]
auth-dialog=@LIBEXECDIR@/nm-strongswan-auth-dialog
-properties=libnm-strongswan-properties
+properties=@LIBDIR@/NetworkManager/libnm-strongswan-properties
Index: NetworkManager-strongswan-1.3.1/Makefile.am
===================================================================
--- NetworkManager-strongswan-1.3.1.orig/Makefile.am
+++ NetworkManager-strongswan-1.3.1/Makefile.am
@@ -13,6 +13,7 @@ nmvpnservice_DATA = nm-strongswan-servic
nm-strongswan-service.name: $(srcdir)/nm-strongswan-service.name.in
$(AM_V_GEN) \
sed -e 's|[@]LIBEXECDIR[@]|$(libexecdir)|' \
+ -e 's![@]LIBDIR[@]!$(libdir)!' \
-e 's|[@]CHARON[@]|$(charon)|' $< >$@
EXTRA_DIST = nm-strongswan-service.name.in \
1
0
Hello community,
here is the log from the commit of package NetworkManager-openvpn for openSUSE:Factory checked in at 2015-09-09 20:21:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-openvpn (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-openvpn.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-openvpn"
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-openvpn/NetworkManager-openvpn.changes 2015-06-23 11:56:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.NetworkManager-openvpn.new/NetworkManager-openvpn.changes 2015-09-09 20:21:21.000000000 +0200
@@ -1,0 +2,15 @@
+Mon Sep 7 07:54:25 UTC 2015 - dimstar(a)opensuse.org
+
+- Create user/group nm-openvpn: NM-openvpn now runs as unprivileged
+ user (as does NM-openconnect already). (boo#944665).
+
+-------------------------------------------------------------------
+Tue Sep 1 10:35:59 UTC 2015 - simon(a)simotek.net
+
+- Update to version 1.0.6:
+ + Enhanced the GUI to support agent-owned and always-ask
+ passwords.
+ + Support running unprivileged.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
NetworkManager-openvpn-1.0.2.tar.xz
New:
----
NetworkManager-openvpn-1.0.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-openvpn.spec ++++++
--- /var/tmp/diff_new_pack.XaUeq4/_old 2015-09-09 20:21:22.000000000 +0200
+++ /var/tmp/diff_new_pack.XaUeq4/_new 2015-09-09 20:21:22.000000000 +0200
@@ -20,7 +20,7 @@
Summary: NetworkManager VPN support for OpenVPN
License: GPL-2.0+
Group: Productivity/Networking/System
-Version: 1.0.2
+Version: 1.0.6
Release: 0
# FIXME .desktop icons are currently disabled (on purpose) in the NM tarballs. They will re-appear later on (when nmce supports --import)
# FIXME: --disable-more-warnings should be dropped from configure when possible. Added with 0.9.2.0 for Gtk+ 3.3 build.
@@ -35,7 +35,7 @@
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libnm-glib) >= 0.9.10
BuildRequires: pkgconfig(libnm-glib-vpn) >= 0.9.10
-BuildRequires: pkgconfig(libnm-gtk) >= 0.9.10
+BuildRequires: pkgconfig(libnm-gtk) >= 1.0.5
BuildRequires: pkgconfig(libnm-util) >= 0.9.10
BuildRequires: pkgconfig(libsecret-unstable)
Recommends: %{name}-frontend
@@ -88,6 +88,15 @@
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+getent group nm-openvpn >/dev/null || groupadd -r nm-openvpn
+getent passwd nm-openvpn >/dev/null || useradd -r -g nm-openvpn \
+ -d %{_localstatedir}/lib/openvpn \
+ -s /sbin/nologin \
+ -c "NetworkManager user for OpenVPN" \
+ nm-openvpn
+exit 0
+
%post gnome
%icon_theme_cache_post
++++++ NetworkManager-openvpn-1.0.2.tar.xz -> NetworkManager-openvpn-1.0.6.tar.xz ++++++
++++ 4439 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ucommon for openSUSE:Factory checked in at 2015-09-09 20:21:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ucommon (Old)
and /work/SRC/openSUSE:Factory/.ucommon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ucommon"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ucommon/ucommon.changes 2015-08-31 22:59:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ucommon.new/ucommon.changes 2015-09-09 20:21:20.000000000 +0200
@@ -1,0 +2,16 @@
+Wed Sep 9 07:09:49 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 6.6.0
+ * introduced rsa key support
+ * expanded hmac support
+ * expanded digests for sha256 and 384
+ * reword of common digest code
+ * improved nullptr clang support
+ * remove clang forced c++11 from build
+ * check for openssl rsa support
+ * port types for 7.0 migration
+ * socket addresses for typeref
+ * further c++11 header fixes
+ * removed old ssl demo app
+
+-------------------------------------------------------------------
Old:
----
ucommon-6.5.7.tar.gz
ucommon-6.5.7.tar.gz.sig
New:
----
ucommon-6.6.0.tar.gz
ucommon-6.6.0.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ucommon.spec ++++++
--- /var/tmp/diff_new_pack.WZHMgn/_old 2015-09-09 20:21:21.000000000 +0200
+++ /var/tmp/diff_new_pack.WZHMgn/_new 2015-09-09 20:21:21.000000000 +0200
@@ -21,7 +21,7 @@
Name: ucommon
-Version: 6.5.7
+Version: 6.6.0
Release: 0
%define lname libucommon7
Summary: Runtime library for portable C++ threading and sockets
++++++ ucommon-6.5.7.tar.gz -> ucommon-6.6.0.tar.gz ++++++
++++ 3503 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gnu_parallel for openSUSE:Factory checked in at 2015-09-09 20:21:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnu_parallel (Old)
and /work/SRC/openSUSE:Factory/.gnu_parallel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnu_parallel"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnu_parallel/gnu_parallel.changes 2015-07-28 11:43:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/gnu_parallel.changes 2015-09-09 20:21:18.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Sep 9 07:17:57 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 20150822
+ * If $job->skip() is called in {= =} the job will not be run.
+ * @arg can now be used in {= =}: parallel echo '{= $arg[2] < 5
+ and $_="j" =}' ::: 1 2 3 ::: 4 5 6
+
+-------------------------------------------------------------------
Old:
----
parallel-20150722.tar.bz2
parallel-20150722.tar.bz2.sig
New:
----
parallel-20150822.tar.bz2
parallel-20150822.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnu_parallel.spec ++++++
--- /var/tmp/diff_new_pack.J3q6F7/_old 2015-09-09 20:21:19.000000000 +0200
+++ /var/tmp/diff_new_pack.J3q6F7/_new 2015-09-09 20:21:19.000000000 +0200
@@ -17,17 +17,16 @@
Name: gnu_parallel
-Version: 20150722
+Version: 20150822
Release: 0
Summary: Shell tool for executing jobs in parallel
License: GPL-3.0+
Group: Productivity/File utilities
Url: http://www.gnu.org/software/parallel/
-
#DL-URL: http://ftp.gnu.org/gnu/parallel/
-Source: http://ftp.gnu.org/gnu/parallel/parallel-%version.tar.bz2
-Source2: http://ftp.gnu.org/gnu/parallel/parallel-%version.tar.bz2.sig
-Source3: %name.keyring
+Source: http://ftp.gnu.org/gnu/parallel/parallel-%{version}.tar.bz2
+Source2: http://ftp.gnu.org/gnu/parallel/parallel-%{version}.tar.bz2.sig
+Source3: %{name}.keyring
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@@ -50,27 +49,27 @@
This subpackage contains the documentation for Parallel.
%prep
-%setup -qn parallel-%version
+%setup -q -n parallel-%{version}
%build
-%configure --docdir="%_docdir/%name"
+%configure --docdir="%{_docdir}/%{name}"
make %{?_smp_mflags}
%install
%make_install
-cp -a CITATION COPYING NEWS README "%buildroot/%_docdir/%name/"
+cp -a CITATION COPYING NEWS README "%{buildroot}/%{_docdir}/%{name}/"
%files
%defattr(-,root,root)
-%_bindir/niceload
-%_bindir/parallel
-%_bindir/sem
-%_bindir/sql
-%_mandir/man1/*.1*
-%_mandir/man7/*.7*
+%{_bindir}/niceload
+%{_bindir}/parallel
+%{_bindir}/sem
+%{_bindir}/sql
+%{_mandir}/man1/*.1*
+%{_mandir}/man7/*.7*
%files doc
%defattr(-,root,root)
-%_docdir/%name/
+%{_docdir}/%{name}/
%changelog
++++++ parallel-20150722.tar.bz2 -> parallel-20150822.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/NEWS new/parallel-20150822/NEWS
--- old/parallel-20150722/NEWS 2015-07-22 08:39:02.000000000 +0200
+++ new/parallel-20150822/NEWS 2015-08-22 11:41:38.000000000 +0200
@@ -1,3 +1,46 @@
+20150822
+
+* If $job->skip() is called in {= =} the job will not be run.
+
+* @arg can now be used in {= =}: parallel echo '{= $arg[2] < 5 and
+ $_="j" =}' ::: 1 2 3 ::: 4 5 6
+
+* Version of GNU Parallel that uses PostgreSQL as backend
+ https://github.com/stephen-fralich/parallel-sql/
+
+* A composite genome approach to identify phylogenetically informative
+ data from next-generation sequencing
+ http://www.biomedcentral.com/content/pdf/s12859-015-0632-y.pdf
+
+* SpeedSeq: ultra-fast personal genome analysis and interpretation
+ http://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.3505.html
+
+* GNU Parallel is used in elPrep: https://github.com/ExaScience/elprep
+
+* Who actually reads the code?
+ http://www.fsf.org/blogs/community/who-actually-reads-the-code
+
+* Introduction to GNU Parallel
+ http://erictleung.com/2015/08/06/intro-to-gnu-parallel/
+
+* ¿Alguien se lee el código?
+ http://www.taringa.net/post/linux/18854759/Alguien-se-lee-el-codigo.html
+
+* ¿Quién se lee el código fuente?
+ https://victorhckinthefreeworld.wordpress.com/2015/08/12/quien-se-lee-el-co…
+
+* Distribution des traitements avec GNU Parallel
+ http://blog.inovia-conseil.fr/?p=226#4
+
+* Эксперимент по проверке, читают ли код открытых проектов
+ http://www.opennet.ru/opennews/art.shtml?num=42718
+
+* 多核心主機搭配 GNU parallel
+ http://blog.zeroplex.tw/2015/08/gnu-parallel.html
+
+* Bug fixes and man page updates.
+
+
20150722
* If a record fits in a block, --block only reads upto the size of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/README new/parallel-20150822/README
--- old/parallel-20150722/README 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/README 2015-08-22 11:40:23.000000000 +0200
@@ -40,9 +40,9 @@
Full installation of GNU Parallel is as simple as:
- wget http://ftpmirror.gnu.org/parallel/parallel-20150722.tar.bz2
- bzip2 -dc parallel-20150722.tar.bz2 | tar xvf -
- cd parallel-20150722
+ wget http://ftpmirror.gnu.org/parallel/parallel-20150822.tar.bz2
+ bzip2 -dc parallel-20150822.tar.bz2 | tar xvf -
+ cd parallel-20150822
./configure && make && sudo make install
@@ -51,9 +51,9 @@
If you are not root you can add ~/bin to your path and install in
~/bin and ~/share:
- wget http://ftpmirror.gnu.org/parallel/parallel-20150722.tar.bz2
- bzip2 -dc parallel-20150722.tar.bz2 | tar xvf -
- cd parallel-20150722
+ wget http://ftpmirror.gnu.org/parallel/parallel-20150822.tar.bz2
+ bzip2 -dc parallel-20150822.tar.bz2 | tar xvf -
+ cd parallel-20150822
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/configure new/parallel-20150822/configure
--- old/parallel-20150722/configure 2015-07-22 08:31:32.000000000 +0200
+++ new/parallel-20150822/configure 2015-08-22 11:40:31.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for parallel 20150722.
+# Generated by GNU Autoconf 2.69 for parallel 20150822.
#
# Report bugs to <bug-parallel(a)gnu.org>.
#
@@ -579,8 +579,8 @@
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
-PACKAGE_VERSION='20150722'
-PACKAGE_STRING='parallel 20150722'
+PACKAGE_VERSION='20150822'
+PACKAGE_STRING='parallel 20150822'
PACKAGE_BUGREPORT='bug-parallel(a)gnu.org'
PACKAGE_URL=''
@@ -1203,7 +1203,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures parallel 20150722 to adapt to many kinds of systems.
+\`configure' configures parallel 20150822 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1269,7 +1269,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of parallel 20150722:";;
+ short | recursive ) echo "Configuration of parallel 20150822:";;
esac
cat <<\_ACEOF
@@ -1345,7 +1345,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-parallel configure 20150722
+parallel configure 20150822
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1362,7 +1362,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by parallel $as_me 20150722, which was
+It was created by parallel $as_me 20150822, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2225,7 +2225,7 @@
# Define the identity of the package.
PACKAGE='parallel'
- VERSION='20150722'
+ VERSION='20150822'
cat >>confdefs.h <<_ACEOF
@@ -2867,7 +2867,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by parallel $as_me 20150722, which was
+This file was extended by parallel $as_me 20150822, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2929,7 +2929,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-parallel config.status 20150722
+parallel config.status 20150822
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/configure.ac new/parallel-20150822/configure.ac
--- old/parallel-20150722/configure.ac 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/configure.ac 2015-08-22 11:40:23.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([parallel], [20150722], [bug-parallel(a)gnu.org]
+AC_INIT([parallel], [20150822], [bug-parallel(a)gnu.org]
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/niceload new/parallel-20150822/src/niceload
--- old/parallel-20150722/src/niceload 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/src/niceload 2015-08-22 11:40:23.000000000 +0200
@@ -24,7 +24,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
-$Global::version = 20150722;
+$Global::version = 20150822;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel new/parallel-20150822/src/parallel
--- old/parallel-20150722/src/parallel 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/src/parallel 2015-08-22 11:40:23.000000000 +0200
@@ -167,7 +167,8 @@
$Global::halt_exitstatus =
::ceil($Global::total_failed / $Global::total_started * 100);
} elsif($Global::halt_count) {
- $Global::halt_exitstatus = ::min($Global::total_failed,101);
+ $Global::halt_exitstatus =
+ ::min(undef_as_zero($Global::total_failed),101);
}
}
wait_and_exit($Global::halt_exitstatus);
@@ -793,7 +794,7 @@
"tollef" => \$opt::tollef,
"gnu" => \$opt::gnu,
"xapply" => \$opt::xapply,
- "bibtex" => \$opt::bibtex,
+ "bibtex|citation" => \$opt::bibtex,
"wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite,
# Termination and retries
"halt-on-error|halt=s" => \$opt::halt,
@@ -816,7 +817,7 @@
"help|h" => \$opt::help,
"L=f" => \$opt::L,
"max-lines|l:f" => \$opt::max_lines,
- "interactive|p" => \$opt::p,
+ "interactive|p" => \$opt::interactive,
"verbose|t" => \$opt::verbose,
"version|V" => \$opt::version,
"minversion|min-version=i" => \$opt::minversion,
@@ -901,7 +902,7 @@
if(defined $opt::0) { $/ = "\0"; }
if(defined $opt::d) { $/ = unquote_printf($opt::d) }
if(defined $opt::tagstring) { $opt::tagstring = unquote_printf($opt::tagstring); }
- if(defined $opt::p) { $Global::interactive = $opt::p; }
+ if(defined $opt::interactive) { $Global::interactive = $opt::interactive; }
if(defined $opt::q) { $Global::quoting = 1; }
if(defined $opt::r) { $Global::ignore_empty = 1; }
if(defined $opt::verbose) { $Global::stderr_verbose = 1; }
@@ -1089,7 +1090,7 @@
sub init_globals {
# Defaults:
- $Global::version = 20150722;
+ $Global::version = 20150822;
$Global::progname = 'parallel';
$Global::infinity = 2**31;
$Global::debug = 0;
@@ -3171,8 +3172,15 @@
$job or next;
delete $Global::running{$stiff};
$Global::total_running--;
- $job->set_exitstatus($? >> 8);
- $job->set_exitsignal($? & 127);
+ if($job->{'commandline'}{'skip'}) {
+ # $job->skip() was called
+ $job->set_exitstatus(-2);
+ $job->set_exitsignal(0);
+ } else {
+ $job->set_exitstatus($? >> 8);
+ $job->set_exitsignal($? & 127);
+ }
+
debug("run", "seq ",$job->seq()," died (", $job->exitstatus(), ")");
$job->set_endtime(::now());
if($stiff == $Global::tty_taken) {
@@ -4164,6 +4172,9 @@
# TODO add sshlogin and backgrounding
$self->{'memfree'} = qx{ $script };
+ if(not $self->{'memfree'}) {
+ ::die_bug("Less than 1 byte free");
+ }
#::debug("mem","New free:",$self->{'memfree'}," ");
}
@@ -4175,25 +4186,33 @@
# shellscript for giving available memory in bytes
if(not $script) {
my %script_of = (
- # $ free
- # total used free shared buffers cached
- # Mem: 8075152 4922780 3152372 338856 233356 1658604
- # -/+ buffers/cache: 3030820 5044332
- # Swap: 8286204 116924 8169280
- "linux" => q{ print (1024*((grep /buffers.cache/, `free`)[0] =~ /buffers.cache:\s+\S+\s+(\S+)/)[0]) },
+ # /proc/meminfo
+ # MemFree: 7012 kB
+ # Buffers: 19876 kB
+ # Cached: 431192 kB
+ # SwapCached: 0 kB
+ "linux" =>
+ q[ print 1024 * qx{ ].
+ q[ awk '/^((Swap)?Cached|MemFree|Buffers):/ ].
+ q[ { sum += \$2} END { print sum }' ].
+ q[ /proc/meminfo } ],
# $ vmstat 1 1
# procs memory page faults cpu
# r b w avm free re at pi po fr de sr in sy cs us sy id
# 1 0 0 242793 389737 5 1 0 0 0 0 0 107 978 60 1 1 99
- "hpux" => q{ print (((reverse `vmstat 1 1`)[0] =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) },
+ "hpux" =>
+ q[ print (((reverse `vmstat 1 1`)[0] ].
+ q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ],
# $ vmstat 1 2
# kthr memory page disk faults cpu
# r b w swap free re mf pi po fr de sr s3 s4 -- -- in sy cs us sy id
# 0 0 0 6496720 5170320 68 260 8 2 1 0 0 -0 3 0 0 309 1371 255 1 2 97
# 0 0 0 6434088 5072656 7 15 8 0 0 0 0 0 261 0 0 1889 1899 3222 0 8 92
#
- # The last free is really free
- "solaris" => q{ print (((reverse `vmstat 1 2`)[0] =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) },
+ # The second free value is correct
+ "solaris" =>
+ q[ print (((reverse `vmstat 1 2`)[0] ].
+ q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ],
"freebsd" => q{
for(qx{/sbin/sysctl -a}) {
if (/^([^:]+):\s+(.+)\s*$/s) {
@@ -6391,9 +6410,9 @@
if(not defined $self->{'wrapped'}) {
my $command = $self->replaced();
if($opt::shellquote) {
- # Prepend echo
+ # Prepend \echo (echo no-\ is wrong in csh)
# and quote twice
- $command = "echo " .
+ $command = "\\echo " .
::shell_quote_scalar(::shell_quote_scalar($command));
}
if($opt::cat) {
@@ -6565,7 +6584,7 @@
unless($pid) {
# Make own process group to be able to kill HUP it later
setpgrp;
- setpriority(0,0,$nice);
+ eval { setpriority(0,0,$nice) };
exec $shell, "-c", ($bashfunc."@ARGV");
die "exec: $!\n";
}
@@ -7009,7 +7028,8 @@
open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!");
my $pid;
- my @setpgrp_wrap = ('perl','-e',"setpgrp\;setpriority\(0,0,$opt::nice\)\;exec '$Global::shell', '-c', \@ARGV");
+ my @setpgrp_wrap = ('perl','-e',
+ "setpgrp\;eval\{setpriority\(0,0,$opt::nice\)\}\;exec '$Global::shell', '-c', \@ARGV");
# The eval is needed to catch exception from open3
eval {
$pid = ::open3($stdin_fh, ">&OUT", ">&ERR", @setpgrp_wrap, $command)
@@ -7041,8 +7061,12 @@
my $command = $job->wrapped();
my $pid;
+ if($job->{'commandline'}{'skip'}) {
+ # $job->skip() was called
+ $command = "true";
+ }
if($Global::interactive or $Global::stderr_verbose) {
- $command = interactive_start($command);
+ $job->interactive_start();
}
$job->openoutputfiles();
my($stdout_fh,$stderr_fh) = ($job->fh(1,"w"),$job->fh(2,"w"));
@@ -7087,7 +7111,8 @@
open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!");
*IN = *STDIN;
# The eval is needed to catch exception from open3
- my @setpgrp_wrap = ('perl','-e',"setpgrp\;setpriority\(0,0,$opt::nice\)\;exec '$Global::shell', '-c', \@ARGV");
+ my @setpgrp_wrap = ('perl','-e',
+ "setpgrp\;eval\{setpriority\(0,0,$opt::nice\)\}\;exec '$Global::shell', '-c', \@ARGV");
eval {
$pid = ::open3("<&IN", ">&OUT", ">&ERR", @setpgrp_wrap, $command)
|| ::die_bug("open3-<IN");
@@ -7120,7 +7145,8 @@
}
sub interactive_start {
- my $command = shift;
+ my $self = shift;
+ my $command = $self->wrapped();
if($Global::interactive) {
::status("$command ?...");
open(my $tty_fh, "<", "/dev/tty") || ::die_bug("interactive-tty");
@@ -7128,12 +7154,11 @@
close $tty_fh;
my $run_yes = ($answer =~ /^\s*y/i);
if (not $run_yes) {
- $command = "true"; # Run the command 'true'
+ $self->{'commandline'}->skip();
}
} else {
print $Global::original_stderr "$command\n";
}
- return $command;
}
sub print_dryrun_and_verbose {
@@ -8100,8 +8125,8 @@
{
my @target;
my $context_replace;
- my @arg;
my $perl_expressions_as_re;
+ my @arg;
sub fish_out_words_containing_replacement_strings {
my %word;
@@ -8153,6 +8178,8 @@
sub replace_placeholders {
# Replace foo{}bar with fooargbar
+ # Uses:
+ # @Arg::arg = arguments as strings to be use in {= =}
# Input:
# $targetref = command as shell words
# $quote = should everything be quoted?
@@ -8177,7 +8204,8 @@
# Fish out the words that have replacement strings in them
my @word = fish_out_words_containing_replacement_strings();
flatten_arg_list($self->{'arg_list'});
-
+ # Make it possible to use $arg[2] in {= =}
+ @Arg::arg = (undef, map { $_->orig() } @arg);
# Number of arguments - used for positional arguments
my $n = $#arg+1;
@@ -8222,7 +8250,7 @@
$normal_replace or last;
}
}
-
+ @Arg::arg = ();
if($quote) {
@target = ::shell_quote(@target);
}
@@ -8241,6 +8269,12 @@
}
}
+sub skip {
+ # Skip this job
+ my $self = shift;
+ $self->{'skip'} = 1;
+}
+
package CommandLineQueue;
@@ -9426,6 +9460,6 @@
}
# Keep perl -w happy
+
$opt::x = $Semaphore::timeout = $Semaphore::wait =
-$Job::file_descriptor_warning_printed =
-$Global::envdef = 0;
+$Job::file_descriptor_warning_printed = $Global::envdef = @Arg::arg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel.1 new/parallel-20150822/src/parallel.1
--- old/parallel-20150722/src/parallel.1 2015-07-22 08:39:20.000000000 +0200
+++ new/parallel-20150822/src/parallel.1 2015-08-22 11:40:35.000000000 +0200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "PARALLEL 1"
-.TH PARALLEL 1 "2015-07-22" "20150722" "parallel"
+.TH PARALLEL 1 "2015-08-22" "20150822" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -210,9 +210,12 @@
.Sp
\&\fBBash aliases\fR: Copy the full environment using this and use \fBenv_parallel\fR instead of \fBparallel\fR.
.Sp
-.Vb 7
+.Vb 10
\& env_parallel() {
-\& export PARALLEL_ENV="$(echo "shopt \-s expand_aliases 2>/dev/null"; alias;typeset \-p | grep \-vFf <(readonly; echo GROUPS; echo FUNCNAME; echo DIRSTACK; echo _; echo PIPESTATUS; echo USERNAME) | grep \-v BASH_;typeset \-f)";
+\& export PARALLEL_ENV="$(echo "shopt \-s expand_aliases 2>/dev/null"; alias;typeset \-p |
+\& grep \-vFf <(readonly) |
+\& grep \-v \*(Aqdeclare .. (GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|USERNAME|BASH_[A\-Z_]+) \*(Aq;
+\& typeset \-f)";
\& \`which parallel\` "$@";
\& unset PARALLEL_ENV;
\& }
@@ -234,7 +237,7 @@
.Sp
.Vb 7
\& env_parallel() {
-\& export PARALLEL_ENV="$(alias | perl \-pe \*(Aqs/^/alias /\*(Aq;typeset \-p;typeset \-f)";
+\& export PARALLEL_ENV="$(alias | perl \-pe \*(Aqs/^/alias /\*(Aq;typeset \-p|egrep \-v \*(Aqtypeset( \-i)? \-r|PIPESTATUS\*(Aq;typeset \-f)";
\& \`which parallel\` "$@";
\& unset PARALLEL_ENV;
\& }
@@ -255,11 +258,13 @@
.Sp
To export all functions and also make them available when running remote:
.Sp
-.Vb 8
+.Vb 10
\& env_parallel() {
-\& PARALLEL_ENV="$(alias | perl \-pe \*(Aqs/^/alias /\*(Aq;typeset \-f)";
-\& export PARALLEL_ENV
-\& \`which parallel\` "$@";
+\& export PARALLEL_ENV="$(alias | perl \-pe \*(Aqs/^/alias /\*(Aq;typeset \-p |
+\& grep \-aFvf <(typeset \-pr)|egrep \-iav \*(AqZSH_EVAL_CONTEXT|LINENO=| _=|aliases|^typeset [a\-z_]+$\*(Aq|
+\& egrep \-av \*(Aq^(typeset IFS=|..$)|cyan\*(Aq;
+\& typeset \-f)";
+\& parallel "$@";
\& unset PARALLEL_ENV;
\& }
\& # call as:
@@ -575,6 +580,10 @@
Implies \fB\-\-semaphore\fR.
.IP "\fB\-\-bibtex\fR" 9
.IX Item "--bibtex"
+.PD 0
+.IP "\fB\-\-citation\fR" 9
+.IX Item "--citation"
+.PD
Print the BibTeX entry for \s-1GNU \s0\fBparallel\fR and silence citation
notice.
.Sp
@@ -587,11 +596,11 @@
citations, so if users do not know they should cite then that makes it
harder to finance development. However, if you pay 10000 \s-1EUR,\s0 you
should feel free to use \fB\-\-will\-cite\fR.
-.IP "\fB\-\-block\fR \fIsize\fR (alpha testing)" 9
-.IX Item "--block size (alpha testing)"
+.IP "\fB\-\-block\fR \fIsize\fR (beta testing)" 9
+.IX Item "--block size (beta testing)"
.PD 0
-.IP "\fB\-\-block\-size\fR \fIsize\fR (alpha testing)" 9
-.IX Item "--block-size size (alpha testing)"
+.IP "\fB\-\-block\-size\fR \fIsize\fR (beta testing)" 9
+.IX Item "--block-size size (beta testing)"
.PD
Size of block in bytes to read at a time. The \fIsize\fR can be postfixed
with K, M, G, T, P, k, m, g, t, or p which would multiply the size
@@ -608,8 +617,8 @@
\&\fIsize\fR defaults to 1M.
.Sp
See \fB\-\-pipe\fR and \fB\-\-pipepart\fR for use of this.
-.IP "\fB\-\-cat\fR (beta testing)" 9
-.IX Item "--cat (beta testing)"
+.IP "\fB\-\-cat\fR" 9
+.IX Item "--cat"
Create a temporary file with content. Normally \fB\-\-pipe\fR/\fB\-\-pipepart\fR
will give data to the program on stdin (standard input). With \fB\-\-cat\fR
\&\s-1GNU \s0\fBparallel\fR will create a temporary file with the name in {}, so
@@ -784,8 +793,8 @@
Implies \fB\-\-semaphore\fR.
.Sp
See also \fB\-\-bg\fR, \fBman sem\fR.
-.IP "\fB\-\-fifo\fR (beta testing)" 9
-.IX Item "--fifo (beta testing)"
+.IP "\fB\-\-fifo\fR" 9
+.IX Item "--fifo"
Create a temporary fifo with content. Normally \fB\-\-pipe\fR and
\&\fB\-\-pipepart\fR will give data to the program on stdin (standard
input). With \fB\-\-fifo\fR \s-1GNU \s0\fBparallel\fR will create a temporary fifo
@@ -830,11 +839,11 @@
.IX Item "-h"
.PD
Print a summary of the options to \s-1GNU \s0\fBparallel\fR and exit.
-.IP "\fB\-\-halt\-on\-error\fR \fIval\fR (beta testing)" 9
-.IX Item "--halt-on-error val (beta testing)"
+.IP "\fB\-\-halt\-on\-error\fR \fIval\fR" 9
+.IX Item "--halt-on-error val"
.PD 0
-.IP "\fB\-\-halt\fR \fIval\fR (beta testing)" 9
-.IX Item "--halt val (beta testing)"
+.IP "\fB\-\-halt\fR \fIval\fR" 9
+.IX Item "--halt val"
.PD
When should \s-1GNU \s0\fBparallel\fR terminate? In some situations it makes no
sense to run all jobs. \s-1GNU \s0\fBparallel\fR should simply give up as soon
@@ -1193,11 +1202,11 @@
of each job is saved in a file and the filename is then printed.
.Sp
See also: \fB\-\-results\fR
-.IP "\fB\-\-pipe\fR (alpha testing)" 9
-.IX Item "--pipe (alpha testing)"
+.IP "\fB\-\-pipe\fR (beta testing)" 9
+.IX Item "--pipe (beta testing)"
.PD 0
-.IP "\fB\-\-spreadstdin\fR (alpha testing)" 9
-.IX Item "--spreadstdin (alpha testing)"
+.IP "\fB\-\-spreadstdin\fR (beta testing)" 9
+.IX Item "--spreadstdin (beta testing)"
.PD
Spread input to jobs on stdin (standard input). Read a block of data
from stdin (standard input) and give one block of data as input to one
@@ -1320,8 +1329,8 @@
.IX Item "--no-keep-order"
Overrides an earlier \fB\-\-keep\-order\fR (e.g. if set in
\&\fB~/.parallel/config\fR).
-.IP "\fB\-\-nice\fR \fIniceness\fR (alpha testing)" 9
-.IX Item "--nice niceness (alpha testing)"
+.IP "\fB\-\-nice\fR \fIniceness\fR (beta testing)" 9
+.IX Item "--nice niceness (beta testing)"
Run the command at this niceness. For simple commands you can just add
\&\fBnice\fR in front of the command. But if the command consists of more
sub commands (Like: ls|wc) then prepending \fBnice\fR will not always
@@ -1520,8 +1529,8 @@
commands.
.Sp
See also \fB\-\-joblog\fR, \fB\-\-resume\fR.
-.IP "\fB\-\-retry\-failed\fR (beta testing)" 9
-.IX Item "--retry-failed (beta testing)"
+.IP "\fB\-\-retry\-failed\fR" 9
+.IX Item "--retry-failed"
Retry all failed jobs in joblog. By reading \fB\-\-joblog\fR \s-1GNU
\&\s0\fBparallel\fR will figure out the failed jobs and run those again.
.Sp
@@ -1783,8 +1792,8 @@
.IX Item "--skip-first-line"
Do not use the first line of input (used by \s-1GNU \s0\fBparallel\fR itself
when called with \fB\-\-shebang\fR).
-.IP "\fB\-\-ssh\fR \fIsshcommand\fR (beta testing)" 9
-.IX Item "--ssh sshcommand (beta testing)"
+.IP "\fB\-\-ssh\fR \fIsshcommand\fR" 9
+.IX Item "--ssh sshcommand"
\&\s-1GNU \s0\fBparallel\fR defaults to using \fBssh\fR for remote access. This can
be overridden with \fB\-\-ssh\fR. It can also be set on a per server
basis (see \fB\-\-sshlogin\fR).
@@ -1944,8 +1953,8 @@
{}.
.Sp
\&\fB\-\-tagstring\fR is ignored when using \fB\-u\fR, \fB\-\-onall\fR, and \fB\-\-nonall\fR.
-.IP "\fB\-\-termseq\fR \fIsequence\fR (beta testing)" 9
-.IX Item "--termseq sequence (beta testing)"
+.IP "\fB\-\-termseq\fR \fIsequence\fR" 9
+.IX Item "--termseq sequence"
Termination sequence. When a job is killed due to \fB\-\-timeout\fR,
\&\fB\-\-memfree\fR, \fB\-\-halt\fR, or abnormal termination of \s-1GNU \s0\fBparallel\fR,
\&\fIsequence\fR determines how the job is killed. The default is:
@@ -1968,8 +1977,8 @@
.IX Item "--tmux"
Use \fBtmux\fR for output. Start a \fBtmux\fR session and run each job in a
window in that session. No other output will be produced.
-.IP "\fB\-\-timeout\fR \fIval\fR (beta testing)" 9
-.IX Item "--timeout val (beta testing)"
+.IP "\fB\-\-timeout\fR \fIval\fR" 9
+.IX Item "--timeout val"
Time out for command. If the command runs for longer than \fIval\fR
seconds it will get killed with \s-1SIGTERM,\s0 followed by \s-1SIGTERM 200\s0 ms
later, followed by \s-1SIGKILL 200\s0 ms later.
@@ -3767,9 +3776,9 @@
.RE
.RS 9
.RE
-.ie n .IP "$PARALLEL_SSH (beta testing)" 9
-.el .IP "\f(CW$PARALLEL_SSH\fR (beta testing)" 9
-.IX Item "$PARALLEL_SSH (beta testing)"
+.ie n .IP "$PARALLEL_SSH" 9
+.el .IP "\f(CW$PARALLEL_SSH\fR" 9
+.IX Item "$PARALLEL_SSH"
\&\s-1GNU \s0\fBparallel\fR defaults to using \fBssh\fR for remote access. This can
be overridden with \f(CW$PARALLEL_SSH\fR, which again can be overridden with
\&\fB\-\-ssh\fR. It can also be set on a per server basis (see
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel.html new/parallel-20150822/src/parallel.html
--- old/parallel-20150722/src/parallel.html 2015-07-22 08:39:21.000000000 +0200
+++ new/parallel-20150822/src/parallel.html 2015-08-22 11:40:34.000000000 +0200
@@ -186,7 +186,10 @@
<p><b>Bash aliases</b>: Copy the full environment using this and use <b>env_parallel</b> instead of <b>parallel</b>.</p>
<pre><code> env_parallel() {
- export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p | grep -vFf <(readonly; echo GROUPS; echo FUNCNAME; echo DIRSTACK; echo _; echo PIPESTATUS; echo USERNAME) | grep -v BASH_;typeset -f)";
+ export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p |
+ grep -vFf <(readonly) |
+ grep -v 'declare .. (GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|USERNAME|BASH_[A-Z_]+) ';
+ typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -204,7 +207,7 @@
<p>To export all functions and also make them available when running remote:</p>
<pre><code> env_parallel() {
- export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p;typeset -f)";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p|egrep -v 'typeset( -i)? -r|PIPESTATUS';typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -223,9 +226,11 @@
<p>To export all functions and also make them available when running remote:</p>
<pre><code> env_parallel() {
- PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -f)";
- export PARALLEL_ENV
- `which parallel` "$@";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p |
+ grep -aFvf <(typeset -pr)|egrep -iav 'ZSH_EVAL_CONTEXT|LINENO=| _=|aliases|^typeset [a-z_]+$'|
+ egrep -av '^(typeset IFS=|..$)|cyan';
+ typeset -f)";
+ parallel "$@";
unset PARALLEL_ENV;
}
# call as:
@@ -530,6 +535,10 @@
<dt id="bibtex"><b>--bibtex</b></dt>
<dd>
+</dd>
+<dt id="citation"><b>--citation</b></dt>
+<dd>
+
<p>Print the BibTeX entry for GNU <b>parallel</b> and silence citation notice.</p>
<p>If it is impossible for you to run <b>--bibtex</b> you can use <b>--will-cite</b>.</p>
@@ -537,11 +546,11 @@
<p>If you use <b>--will-cite</b> in scripts to be run by others you are making it harder for others to see the citation notice. The development of GNU <b>parallel</b> is indirectly financed through citations, so if users do not know they should cite then that makes it harder to finance development. However, if you pay 10000 EUR, you should feel free to use <b>--will-cite</b>.</p>
</dd>
-<dt id="block-size-alpha-testing"><b>--block</b> <i>size</i> (alpha testing)</dt>
+<dt id="block-size-beta-testing"><b>--block</b> <i>size</i> (beta testing)</dt>
<dd>
</dd>
-<dt id="block-size-size-alpha-testing"><b>--block-size</b> <i>size</i> (alpha testing)</dt>
+<dt id="block-size-size-beta-testing"><b>--block-size</b> <i>size</i> (beta testing)</dt>
<dd>
<p>Size of block in bytes to read at a time. The <i>size</i> can be postfixed with K, M, G, T, P, k, m, g, t, or p which would multiply the size with 1024, 1048576, 1073741824, 1099511627776, 1125899906842624, 1000, 1000000, 1000000000, 1000000000000, or 1000000000000000 respectively.</p>
@@ -555,7 +564,7 @@
<p>See <b>--pipe</b> and <b>--pipepart</b> for use of this.</p>
</dd>
-<dt id="cat-beta-testing"><b>--cat</b> (beta testing)</dt>
+<dt id="cat"><b>--cat</b></dt>
<dd>
<p>Create a temporary file with content. Normally <b>--pipe</b>/<b>--pipepart</b> will give data to the program on stdin (standard input). With <b>--cat</b> GNU <b>parallel</b> will create a temporary file with the name in {}, so you can do: <b>parallel --pipe --cat wc {}</b>.</p>
@@ -722,7 +731,7 @@
<p>See also <b>--bg</b>, <b>man sem</b>.</p>
</dd>
-<dt id="fifo-beta-testing"><b>--fifo</b> (beta testing)</dt>
+<dt id="fifo"><b>--fifo</b></dt>
<dd>
<p>Create a temporary fifo with content. Normally <b>--pipe</b> and <b>--pipepart</b> will give data to the program on stdin (standard input). With <b>--fifo</b> GNU <b>parallel</b> will create a temporary fifo with the name in {}, so you can do: <b>parallel --pipe --fifo wc {}</b>.</p>
@@ -768,11 +777,11 @@
<p>Print a summary of the options to GNU <b>parallel</b> and exit.</p>
</dd>
-<dt id="halt-on-error-val-beta-testing"><b>--halt-on-error</b> <i>val</i> (beta testing)</dt>
+<dt id="halt-on-error-val"><b>--halt-on-error</b> <i>val</i></dt>
<dd>
</dd>
-<dt id="halt-val-beta-testing"><b>--halt</b> <i>val</i> (beta testing)</dt>
+<dt id="halt-val"><b>--halt</b> <i>val</i></dt>
<dd>
<p>When should GNU <b>parallel</b> terminate? In some situations it makes no sense to run all jobs. GNU <b>parallel</b> should simply give up as soon as a condition is met.</p>
@@ -1173,11 +1182,11 @@
<p>See also: <b>--results</b></p>
</dd>
-<dt id="pipe-alpha-testing"><b>--pipe</b> (alpha testing)</dt>
+<dt id="pipe-beta-testing"><b>--pipe</b> (beta testing)</dt>
<dd>
</dd>
-<dt id="spreadstdin-alpha-testing"><b>--spreadstdin</b> (alpha testing)</dt>
+<dt id="spreadstdin-beta-testing"><b>--spreadstdin</b> (beta testing)</dt>
<dd>
<p>Spread input to jobs on stdin (standard input). Read a block of data from stdin (standard input) and give one block of data as input to one job.</p>
@@ -1301,7 +1310,7 @@
<p>Overrides an earlier <b>--keep-order</b> (e.g. if set in <b>~/.parallel/config</b>).</p>
</dd>
-<dt id="nice-niceness-alpha-testing"><b>--nice</b> <i>niceness</i> (alpha testing)</dt>
+<dt id="nice-niceness-beta-testing"><b>--nice</b> <i>niceness</i> (beta testing)</dt>
<dd>
<p>Run the command at this niceness. For simple commands you can just add <b>nice</b> in front of the command. But if the command consists of more sub commands (Like: ls|wc) then prepending <b>nice</b> will not always work. <b>--nice</b> will make sure all sub commands are niced - even on remote servers.</p>
@@ -1490,7 +1499,7 @@
<p>See also <b>--joblog</b>, <b>--resume</b>.</p>
</dd>
-<dt id="retry-failed-beta-testing"><b>--retry-failed</b> (beta testing)</dt>
+<dt id="retry-failed"><b>--retry-failed</b></dt>
<dd>
<p>Retry all failed jobs in joblog. By reading <b>--joblog</b> GNU <b>parallel</b> will figure out the failed jobs and run those again.</p>
@@ -1727,7 +1736,7 @@
<p>Do not use the first line of input (used by GNU <b>parallel</b> itself when called with <b>--shebang</b>).</p>
</dd>
-<dt id="ssh-sshcommand-beta-testing"><b>--ssh</b> <i>sshcommand</i> (beta testing)</dt>
+<dt id="ssh-sshcommand"><b>--ssh</b> <i>sshcommand</i></dt>
<dd>
<p>GNU <b>parallel</b> defaults to using <b>ssh</b> for remote access. This can be overridden with <b>--ssh</b>. It can also be set on a per server basis (see <b>--sshlogin</b>).</p>
@@ -1878,7 +1887,7 @@
<p><b>--tagstring</b> is ignored when using <b>-u</b>, <b>--onall</b>, and <b>--nonall</b>.</p>
</dd>
-<dt id="termseq-sequence-beta-testing"><b>--termseq</b> <i>sequence</i> (beta testing)</dt>
+<dt id="termseq-sequence"><b>--termseq</b> <i>sequence</i></dt>
<dd>
<p>Termination sequence. When a job is killed due to <b>--timeout</b>, <b>--memfree</b>, <b>--halt</b>, or abnormal termination of GNU <b>parallel</b>, <i>sequence</i> determines how the job is killed. The default is:</p>
@@ -1900,7 +1909,7 @@
<p>Use <b>tmux</b> for output. Start a <b>tmux</b> session and run each job in a window in that session. No other output will be produced.</p>
</dd>
-<dt id="timeout-val-beta-testing"><b>--timeout</b> <i>val</i> (beta testing)</dt>
+<dt id="timeout-val"><b>--timeout</b> <i>val</i></dt>
<dd>
<p>Time out for command. If the command runs for longer than <i>val</i> seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms later, followed by SIGKILL 200 ms later.</p>
@@ -3218,7 +3227,7 @@
</ul>
</dd>
-<dt id="PARALLEL_SSH-beta-testing">$PARALLEL_SSH (beta testing)</dt>
+<dt id="PARALLEL_SSH">$PARALLEL_SSH</dt>
<dd>
<p>GNU <b>parallel</b> defaults to using <b>ssh</b> for remote access. This can be overridden with $PARALLEL_SSH, which again can be overridden with <b>--ssh</b>. It can also be set on a per server basis (see <b>--sshlogin</b>).</p>
Files old/parallel-20150722/src/parallel.pdf and new/parallel-20150822/src/parallel.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel.pod new/parallel-20150822/src/parallel.pod
--- old/parallel-20150722/src/parallel.pod 2015-07-22 08:35:08.000000000 +0200
+++ new/parallel-20150822/src/parallel.pod 2015-08-22 11:32:45.000000000 +0200
@@ -85,7 +85,10 @@
B<Bash aliases>: Copy the full environment using this and use B<env_parallel> instead of B<parallel>.
env_parallel() {
- export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p | grep -vFf <(readonly; echo GROUPS; echo FUNCNAME; echo DIRSTACK; echo _; echo PIPESTATUS; echo USERNAME) | grep -v BASH_;typeset -f)";
+ export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p |
+ grep -vFf <(readonly) |
+ grep -v 'declare .. (GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|USERNAME|BASH_[A-Z_]+) ';
+ typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -103,7 +106,7 @@
To export all functions and also make them available when running remote:
env_parallel() {
- export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p;typeset -f)";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p|egrep -v 'typeset( -i)? -r|PIPESTATUS';typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -122,9 +125,11 @@
To export all functions and also make them available when running remote:
env_parallel() {
- PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -f)";
- export PARALLEL_ENV
- `which parallel` "$@";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p |
+ grep -aFvf <(typeset -pr)|egrep -iav 'ZSH_EVAL_CONTEXT|LINENO=| _=|aliases|^typeset [a-z_]+$'|
+ egrep -av '^(typeset IFS=|..$)|cyan';
+ typeset -f)";
+ parallel "$@";
unset PARALLEL_ENV;
}
# call as:
@@ -470,6 +475,8 @@
=item B<--bibtex>
+=item B<--citation>
+
Print the BibTeX entry for GNU B<parallel> and silence citation
notice.
@@ -484,9 +491,9 @@
should feel free to use B<--will-cite>.
-=item B<--block> I<size> (alpha testing)
+=item B<--block> I<size> (beta testing)
-=item B<--block-size> I<size> (alpha testing)
+=item B<--block-size> I<size> (beta testing)
Size of block in bytes to read at a time. The I<size> can be postfixed
with K, M, G, T, P, k, m, g, t, or p which would multiply the size
@@ -505,7 +512,7 @@
See B<--pipe> and B<--pipepart> for use of this.
-=item B<--cat> (beta testing)
+=item B<--cat>
Create a temporary file with content. Normally B<--pipe>/B<--pipepart>
will give data to the program on stdin (standard input). With B<--cat>
@@ -692,7 +699,7 @@
See also B<--bg>, B<man sem>.
-=item B<--fifo> (beta testing)
+=item B<--fifo>
Create a temporary fifo with content. Normally B<--pipe> and
B<--pipepart> will give data to the program on stdin (standard
@@ -746,9 +753,9 @@
Print a summary of the options to GNU B<parallel> and exit.
-=item B<--halt-on-error> I<val> (beta testing)
+=item B<--halt-on-error> I<val>
-=item B<--halt> I<val> (beta testing)
+=item B<--halt> I<val>
When should GNU B<parallel> terminate? In some situations it makes no
sense to run all jobs. GNU B<parallel> should simply give up as soon
@@ -1139,9 +1146,9 @@
See also: B<--results>
-=item B<--pipe> (alpha testing)
+=item B<--pipe> (beta testing)
-=item B<--spreadstdin> (alpha testing)
+=item B<--spreadstdin> (beta testing)
Spread input to jobs on stdin (standard input). Read a block of data
from stdin (standard input) and give one block of data as input to one
@@ -1284,7 +1291,7 @@
B<~/.parallel/config>).
-=item B<--nice> I<niceness> (alpha testing)
+=item B<--nice> I<niceness> (beta testing)
Run the command at this niceness. For simple commands you can just add
B<nice> in front of the command. But if the command consists of more
@@ -1488,7 +1495,7 @@
See also B<--joblog>, B<--resume>.
-=item B<--retry-failed> (beta testing)
+=item B<--retry-failed>
Retry all failed jobs in joblog. By reading B<--joblog> GNU
B<parallel> will figure out the failed jobs and run those again.
@@ -1747,7 +1754,7 @@
when called with B<--shebang>).
-=item B<--ssh> I<sshcommand> (beta testing)
+=item B<--ssh> I<sshcommand>
GNU B<parallel> defaults to using B<ssh> for remote access. This can
be overridden with B<--ssh>. It can also be set on a per server
@@ -1914,7 +1921,7 @@
B<--tagstring> is ignored when using B<-u>, B<--onall>, and B<--nonall>.
-=item B<--termseq> I<sequence> (beta testing)
+=item B<--termseq> I<sequence>
Termination sequence. When a job is killed due to B<--timeout>,
B<--memfree>, B<--halt>, or abnormal termination of GNU B<parallel>,
@@ -1942,7 +1949,7 @@
window in that session. No other output will be produced.
-=item B<--timeout> I<val> (beta testing)
+=item B<--timeout> I<val>
Time out for command. If the command runs for longer than I<val>
seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms
@@ -3540,7 +3547,7 @@
=back
-=item $PARALLEL_SSH (beta testing)
+=item $PARALLEL_SSH
GNU B<parallel> defaults to using B<ssh> for remote access. This can
be overridden with $PARALLEL_SSH, which again can be overridden with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel.texi new/parallel-20150822/src/parallel.texi
--- old/parallel-20150722/src/parallel.texi 2015-07-22 08:40:59.000000000 +0200
+++ new/parallel-20150822/src/parallel.texi 2015-08-22 11:40:45.000000000 +0200
@@ -166,7 +166,10 @@
@verbatim
env_parallel() {
- export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p | grep -vFf <(readonly; echo GROUPS; echo FUNCNAME; echo DIRSTACK; echo _; echo PIPESTATUS; echo USERNAME) | grep -v BASH_;typeset -f)";
+ export PARALLEL_ENV="$(echo "shopt -s expand_aliases 2>/dev/null"; alias;typeset -p |
+ grep -vFf <(readonly) |
+ grep -v 'declare .. (GROUPS|FUNCNAME|DIRSTACK|_|PIPESTATUS|USERNAME|BASH_[A-Z_]+) ';
+ typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -188,7 +191,7 @@
@verbatim
env_parallel() {
- export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p;typeset -f)";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p|egrep -v 'typeset( -i)? -r|PIPESTATUS';typeset -f)";
`which parallel` "$@";
unset PARALLEL_ENV;
}
@@ -211,9 +214,11 @@
@verbatim
env_parallel() {
- PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -f)";
- export PARALLEL_ENV
- `which parallel` "$@";
+ export PARALLEL_ENV="$(alias | perl -pe 's/^/alias /';typeset -p |
+ grep -aFvf <(typeset -pr)|egrep -iav 'ZSH_EVAL_CONTEXT|LINENO=| _=|aliases|^typeset [a-z_]+$'|
+ egrep -av '^(typeset IFS=|..$)|cyan';
+ typeset -f)";
+ parallel "$@";
unset PARALLEL_ENV;
}
# call as:
@@ -576,6 +581,9 @@
@item @strong{--bibtex}
@anchor{@strong{--bibtex}}
+@item @strong{--citation}
+@anchor{@strong{--citation}}
+
Print the BibTeX entry for GNU @strong{parallel} and silence citation
notice.
@@ -589,11 +597,11 @@
harder to finance development. However, if you pay 10000 EUR, you
should feel free to use @strong{--will-cite}.
-@item @strong{--block} @emph{size} (alpha testing)
-@anchor{@strong{--block} @emph{size} (alpha testing)}
+@item @strong{--block} @emph{size} (beta testing)
+@anchor{@strong{--block} @emph{size} (beta testing)}
-@item @strong{--block-size} @emph{size} (alpha testing)
-@anchor{@strong{--block-size} @emph{size} (alpha testing)}
+@item @strong{--block-size} @emph{size} (beta testing)
+@anchor{@strong{--block-size} @emph{size} (beta testing)}
Size of block in bytes to read at a time. The @emph{size} can be postfixed
with K, M, G, T, P, k, m, g, t, or p which would multiply the size
@@ -611,8 +619,8 @@
See @strong{--pipe} and @strong{--pipepart} for use of this.
-@item @strong{--cat} (beta testing)
-@anchor{@strong{--cat} (beta testing)}
+@item @strong{--cat}
+@anchor{@strong{--cat}}
Create a temporary file with content. Normally @strong{--pipe}/@strong{--pipepart}
will give data to the program on stdin (standard input). With @strong{--cat}
@@ -810,8 +818,8 @@
See also @strong{--bg}, @strong{man sem}.
-@item @strong{--fifo} (beta testing)
-@anchor{@strong{--fifo} (beta testing)}
+@item @strong{--fifo}
+@anchor{@strong{--fifo}}
Create a temporary fifo with content. Normally @strong{--pipe} and
@strong{--pipepart} will give data to the program on stdin (standard
@@ -865,11 +873,11 @@
Print a summary of the options to GNU @strong{parallel} and exit.
-@item @strong{--halt-on-error} @emph{val} (beta testing)
-@anchor{@strong{--halt-on-error} @emph{val} (beta testing)}
+@item @strong{--halt-on-error} @emph{val}
+@anchor{@strong{--halt-on-error} @emph{val}}
-@item @strong{--halt} @emph{val} (beta testing)
-@anchor{@strong{--halt} @emph{val} (beta testing)}
+@item @strong{--halt} @emph{val}
+@anchor{@strong{--halt} @emph{val}}
When should GNU @strong{parallel} terminate? In some situations it makes no
sense to run all jobs. GNU @strong{parallel} should simply give up as soon
@@ -1299,11 +1307,11 @@
See also: @strong{--results}
-@item @strong{--pipe} (alpha testing)
-@anchor{@strong{--pipe} (alpha testing)}
+@item @strong{--pipe} (beta testing)
+@anchor{@strong{--pipe} (beta testing)}
-@item @strong{--spreadstdin} (alpha testing)
-@anchor{@strong{--spreadstdin} (alpha testing)}
+@item @strong{--spreadstdin} (beta testing)
+@anchor{@strong{--spreadstdin} (beta testing)}
Spread input to jobs on stdin (standard input). Read a block of data
from stdin (standard input) and give one block of data as input to one
@@ -1450,8 +1458,8 @@
Overrides an earlier @strong{--keep-order} (e.g. if set in
@strong{~/.parallel/config}).
-@item @strong{--nice} @emph{niceness} (alpha testing)
-@anchor{@strong{--nice} @emph{niceness} (alpha testing)}
+@item @strong{--nice} @emph{niceness} (beta testing)
+@anchor{@strong{--nice} @emph{niceness} (beta testing)}
Run the command at this niceness. For simple commands you can just add
@strong{nice} in front of the command. But if the command consists of more
@@ -1672,8 +1680,8 @@
See also @strong{--joblog}, @strong{--resume}.
-@item @strong{--retry-failed} (beta testing)
-@anchor{@strong{--retry-failed} (beta testing)}
+@item @strong{--retry-failed}
+@anchor{@strong{--retry-failed}}
Retry all failed jobs in joblog. By reading @strong{--joblog} GNU
@strong{parallel} will figure out the failed jobs and run those again.
@@ -1962,8 +1970,8 @@
Do not use the first line of input (used by GNU @strong{parallel} itself
when called with @strong{--shebang}).
-@item @strong{--ssh} @emph{sshcommand} (beta testing)
-@anchor{@strong{--ssh} @emph{sshcommand} (beta testing)}
+@item @strong{--ssh} @emph{sshcommand}
+@anchor{@strong{--ssh} @emph{sshcommand}}
GNU @strong{parallel} defaults to using @strong{ssh} for remote access. This can
be overridden with @strong{--ssh}. It can also be set on a per server
@@ -2139,8 +2147,8 @@
@strong{--tagstring} is ignored when using @strong{-u}, @strong{--onall}, and @strong{--nonall}.
-@item @strong{--termseq} @emph{sequence} (beta testing)
-@anchor{@strong{--termseq} @emph{sequence} (beta testing)}
+@item @strong{--termseq} @emph{sequence}
+@anchor{@strong{--termseq} @emph{sequence}}
Termination sequence. When a job is killed due to @strong{--timeout},
@strong{--memfree}, @strong{--halt}, or abnormal termination of GNU @strong{parallel},
@@ -2169,8 +2177,8 @@
Use @strong{tmux} for output. Start a @strong{tmux} session and run each job in a
window in that session. No other output will be produced.
-@item @strong{--timeout} @emph{val} (beta testing)
-@anchor{@strong{--timeout} @emph{val} (beta testing)}
+@item @strong{--timeout} @emph{val}
+@anchor{@strong{--timeout} @emph{val}}
Time out for command. If the command runs for longer than @emph{val}
seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms
@@ -4102,8 +4110,8 @@
@end itemize
-@item $PARALLEL_SSH (beta testing)
-@anchor{$PARALLEL_SSH (beta testing)}
+@item $PARALLEL_SSH
+@anchor{$PARALLEL_SSH}
GNU @strong{parallel} defaults to using @strong{ssh} for remote access. This can
be overridden with $PARALLEL_SSH, which again can be overridden with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel_design.7 new/parallel-20150822/src/parallel_design.7
--- old/parallel-20150722/src/parallel_design.7 2015-07-01 02:29:27.000000000 +0200
+++ new/parallel-20150822/src/parallel_design.7 2015-08-16 14:43:20.000000000 +0200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "PARALLEL_DESIGN 7"
-.TH PARALLEL_DESIGN 7 "2015-06-26" "20150622" "parallel"
+.TH PARALLEL_DESIGN 7 "2015-08-16" "20150722" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
Files old/parallel-20150722/src/parallel_design.pdf and new/parallel-20150822/src/parallel_design.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/parallel_tutorial.7 new/parallel-20150822/src/parallel_tutorial.7
--- old/parallel-20150722/src/parallel_tutorial.7 2015-05-21 22:43:45.000000000 +0200
+++ new/parallel-20150822/src/parallel_tutorial.7 2015-08-16 14:43:18.000000000 +0200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "PARALLEL_TUTORIAL 7"
-.TH PARALLEL_TUTORIAL 7 "2015-05-21" "20150422" "parallel"
+.TH PARALLEL_TUTORIAL 7 "2015-08-16" "20150722" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
Files old/parallel-20150722/src/parallel_tutorial.pdf and new/parallel-20150822/src/parallel_tutorial.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sem new/parallel-20150822/src/sem
--- old/parallel-20150722/src/sem 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/src/sem 2015-08-22 11:40:23.000000000 +0200
@@ -167,7 +167,8 @@
$Global::halt_exitstatus =
::ceil($Global::total_failed / $Global::total_started * 100);
} elsif($Global::halt_count) {
- $Global::halt_exitstatus = ::min($Global::total_failed,101);
+ $Global::halt_exitstatus =
+ ::min(undef_as_zero($Global::total_failed),101);
}
}
wait_and_exit($Global::halt_exitstatus);
@@ -793,7 +794,7 @@
"tollef" => \$opt::tollef,
"gnu" => \$opt::gnu,
"xapply" => \$opt::xapply,
- "bibtex" => \$opt::bibtex,
+ "bibtex|citation" => \$opt::bibtex,
"wc|willcite|will-cite|nn|nonotice|no-notice" => \$opt::willcite,
# Termination and retries
"halt-on-error|halt=s" => \$opt::halt,
@@ -816,7 +817,7 @@
"help|h" => \$opt::help,
"L=f" => \$opt::L,
"max-lines|l:f" => \$opt::max_lines,
- "interactive|p" => \$opt::p,
+ "interactive|p" => \$opt::interactive,
"verbose|t" => \$opt::verbose,
"version|V" => \$opt::version,
"minversion|min-version=i" => \$opt::minversion,
@@ -901,7 +902,7 @@
if(defined $opt::0) { $/ = "\0"; }
if(defined $opt::d) { $/ = unquote_printf($opt::d) }
if(defined $opt::tagstring) { $opt::tagstring = unquote_printf($opt::tagstring); }
- if(defined $opt::p) { $Global::interactive = $opt::p; }
+ if(defined $opt::interactive) { $Global::interactive = $opt::interactive; }
if(defined $opt::q) { $Global::quoting = 1; }
if(defined $opt::r) { $Global::ignore_empty = 1; }
if(defined $opt::verbose) { $Global::stderr_verbose = 1; }
@@ -1089,7 +1090,7 @@
sub init_globals {
# Defaults:
- $Global::version = 20150722;
+ $Global::version = 20150822;
$Global::progname = 'parallel';
$Global::infinity = 2**31;
$Global::debug = 0;
@@ -3171,8 +3172,15 @@
$job or next;
delete $Global::running{$stiff};
$Global::total_running--;
- $job->set_exitstatus($? >> 8);
- $job->set_exitsignal($? & 127);
+ if($job->{'commandline'}{'skip'}) {
+ # $job->skip() was called
+ $job->set_exitstatus(-2);
+ $job->set_exitsignal(0);
+ } else {
+ $job->set_exitstatus($? >> 8);
+ $job->set_exitsignal($? & 127);
+ }
+
debug("run", "seq ",$job->seq()," died (", $job->exitstatus(), ")");
$job->set_endtime(::now());
if($stiff == $Global::tty_taken) {
@@ -4164,6 +4172,9 @@
# TODO add sshlogin and backgrounding
$self->{'memfree'} = qx{ $script };
+ if(not $self->{'memfree'}) {
+ ::die_bug("Less than 1 byte free");
+ }
#::debug("mem","New free:",$self->{'memfree'}," ");
}
@@ -4175,25 +4186,33 @@
# shellscript for giving available memory in bytes
if(not $script) {
my %script_of = (
- # $ free
- # total used free shared buffers cached
- # Mem: 8075152 4922780 3152372 338856 233356 1658604
- # -/+ buffers/cache: 3030820 5044332
- # Swap: 8286204 116924 8169280
- "linux" => q{ print (1024*((grep /buffers.cache/, `free`)[0] =~ /buffers.cache:\s+\S+\s+(\S+)/)[0]) },
+ # /proc/meminfo
+ # MemFree: 7012 kB
+ # Buffers: 19876 kB
+ # Cached: 431192 kB
+ # SwapCached: 0 kB
+ "linux" =>
+ q[ print 1024 * qx{ ].
+ q[ awk '/^((Swap)?Cached|MemFree|Buffers):/ ].
+ q[ { sum += \$2} END { print sum }' ].
+ q[ /proc/meminfo } ],
# $ vmstat 1 1
# procs memory page faults cpu
# r b w avm free re at pi po fr de sr in sy cs us sy id
# 1 0 0 242793 389737 5 1 0 0 0 0 0 107 978 60 1 1 99
- "hpux" => q{ print (((reverse `vmstat 1 1`)[0] =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) },
+ "hpux" =>
+ q[ print (((reverse `vmstat 1 1`)[0] ].
+ q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ],
# $ vmstat 1 2
# kthr memory page disk faults cpu
# r b w swap free re mf pi po fr de sr s3 s4 -- -- in sy cs us sy id
# 0 0 0 6496720 5170320 68 260 8 2 1 0 0 -0 3 0 0 309 1371 255 1 2 97
# 0 0 0 6434088 5072656 7 15 8 0 0 0 0 0 261 0 0 1889 1899 3222 0 8 92
#
- # The last free is really free
- "solaris" => q{ print (((reverse `vmstat 1 2`)[0] =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) },
+ # The second free value is correct
+ "solaris" =>
+ q[ print (((reverse `vmstat 1 2`)[0] ].
+ q[ =~ /(?:\d+\D+){4}(\d+)/)[0]*1024) ],
"freebsd" => q{
for(qx{/sbin/sysctl -a}) {
if (/^([^:]+):\s+(.+)\s*$/s) {
@@ -6391,9 +6410,9 @@
if(not defined $self->{'wrapped'}) {
my $command = $self->replaced();
if($opt::shellquote) {
- # Prepend echo
+ # Prepend \echo (echo no-\ is wrong in csh)
# and quote twice
- $command = "echo " .
+ $command = "\\echo " .
::shell_quote_scalar(::shell_quote_scalar($command));
}
if($opt::cat) {
@@ -6565,7 +6584,7 @@
unless($pid) {
# Make own process group to be able to kill HUP it later
setpgrp;
- setpriority(0,0,$nice);
+ eval { setpriority(0,0,$nice) };
exec $shell, "-c", ($bashfunc."@ARGV");
die "exec: $!\n";
}
@@ -7009,7 +7028,8 @@
open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!");
my $pid;
- my @setpgrp_wrap = ('perl','-e',"setpgrp\;setpriority\(0,0,$opt::nice\)\;exec '$Global::shell', '-c', \@ARGV");
+ my @setpgrp_wrap = ('perl','-e',
+ "setpgrp\;eval\{setpriority\(0,0,$opt::nice\)\}\;exec '$Global::shell', '-c', \@ARGV");
# The eval is needed to catch exception from open3
eval {
$pid = ::open3($stdin_fh, ">&OUT", ">&ERR", @setpgrp_wrap, $command)
@@ -7041,8 +7061,12 @@
my $command = $job->wrapped();
my $pid;
+ if($job->{'commandline'}{'skip'}) {
+ # $job->skip() was called
+ $command = "true";
+ }
if($Global::interactive or $Global::stderr_verbose) {
- $command = interactive_start($command);
+ $job->interactive_start();
}
$job->openoutputfiles();
my($stdout_fh,$stderr_fh) = ($job->fh(1,"w"),$job->fh(2,"w"));
@@ -7087,7 +7111,8 @@
open ERR, '>&', $stderr_fh or ::die_bug("Can't dup STDERR: $!");
*IN = *STDIN;
# The eval is needed to catch exception from open3
- my @setpgrp_wrap = ('perl','-e',"setpgrp\;setpriority\(0,0,$opt::nice\)\;exec '$Global::shell', '-c', \@ARGV");
+ my @setpgrp_wrap = ('perl','-e',
+ "setpgrp\;eval\{setpriority\(0,0,$opt::nice\)\}\;exec '$Global::shell', '-c', \@ARGV");
eval {
$pid = ::open3("<&IN", ">&OUT", ">&ERR", @setpgrp_wrap, $command)
|| ::die_bug("open3-<IN");
@@ -7120,7 +7145,8 @@
}
sub interactive_start {
- my $command = shift;
+ my $self = shift;
+ my $command = $self->wrapped();
if($Global::interactive) {
::status("$command ?...");
open(my $tty_fh, "<", "/dev/tty") || ::die_bug("interactive-tty");
@@ -7128,12 +7154,11 @@
close $tty_fh;
my $run_yes = ($answer =~ /^\s*y/i);
if (not $run_yes) {
- $command = "true"; # Run the command 'true'
+ $self->{'commandline'}->skip();
}
} else {
print $Global::original_stderr "$command\n";
}
- return $command;
}
sub print_dryrun_and_verbose {
@@ -8100,8 +8125,8 @@
{
my @target;
my $context_replace;
- my @arg;
my $perl_expressions_as_re;
+ my @arg;
sub fish_out_words_containing_replacement_strings {
my %word;
@@ -8153,6 +8178,8 @@
sub replace_placeholders {
# Replace foo{}bar with fooargbar
+ # Uses:
+ # @Arg::arg = arguments as strings to be use in {= =}
# Input:
# $targetref = command as shell words
# $quote = should everything be quoted?
@@ -8177,7 +8204,8 @@
# Fish out the words that have replacement strings in them
my @word = fish_out_words_containing_replacement_strings();
flatten_arg_list($self->{'arg_list'});
-
+ # Make it possible to use $arg[2] in {= =}
+ @Arg::arg = (undef, map { $_->orig() } @arg);
# Number of arguments - used for positional arguments
my $n = $#arg+1;
@@ -8222,7 +8250,7 @@
$normal_replace or last;
}
}
-
+ @Arg::arg = ();
if($quote) {
@target = ::shell_quote(@target);
}
@@ -8241,6 +8269,12 @@
}
}
+sub skip {
+ # Skip this job
+ my $self = shift;
+ $self->{'skip'} = 1;
+}
+
package CommandLineQueue;
@@ -9426,6 +9460,6 @@
}
# Keep perl -w happy
+
$opt::x = $Semaphore::timeout = $Semaphore::wait =
-$Job::file_descriptor_warning_printed =
-$Global::envdef = 0;
+$Job::file_descriptor_warning_printed = $Global::envdef = @Arg::arg;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sem.1 new/parallel-20150822/src/sem.1
--- old/parallel-20150722/src/sem.1 2015-05-10 17:46:54.000000000 +0200
+++ new/parallel-20150822/src/sem.1 2015-08-16 14:43:13.000000000 +0200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "SEM 1"
-.TH SEM 1 "2015-05-10" "20150422" "parallel"
+.TH SEM 1 "2015-08-16" "20150722" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -264,11 +264,11 @@
In toilet analogy: \s-1GNU \s0\fBsem\fR waits for a toilet to be available,
takes a person to the toilet, waits for the person to finish, and
exits.
-.IP "\fB\-\-semaphoretimeout\fR \fIsecs\fR (alpha testing)" 9
-.IX Item "--semaphoretimeout secs (alpha testing)"
+.IP "\fB\-\-semaphoretimeout\fR \fIsecs\fR (beta testing)" 9
+.IX Item "--semaphoretimeout secs (beta testing)"
.PD 0
-.IP "\fB\-\-st\fR \fIsecs\fR (alpha testing)" 9
-.IX Item "--st secs (alpha testing)"
+.IP "\fB\-\-st\fR \fIsecs\fR (beta testing)" 9
+.IX Item "--st secs (beta testing)"
.PD
If \fIsecs\fR > 0: If the semaphore is not released within \fIsecs\fR
seconds, take it anyway.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sem.html new/parallel-20150822/src/sem.html
--- old/parallel-20150722/src/sem.html 2015-07-22 08:39:22.000000000 +0200
+++ new/parallel-20150822/src/sem.html 2015-08-22 11:40:34.000000000 +0200
@@ -186,11 +186,11 @@
<p>In toilet analogy: GNU <b>sem</b> waits for a toilet to be available, takes a person to the toilet, waits for the person to finish, and exits.</p>
</dd>
-<dt id="semaphoretimeout-secs-alpha-testing"><b>--semaphoretimeout</b> <i>secs</i> (alpha testing)</dt>
+<dt id="semaphoretimeout-secs-beta-testing"><b>--semaphoretimeout</b> <i>secs</i> (beta testing)</dt>
<dd>
</dd>
-<dt id="st-secs-alpha-testing"><b>--st</b> <i>secs</i> (alpha testing)</dt>
+<dt id="st-secs-beta-testing"><b>--st</b> <i>secs</i> (beta testing)</dt>
<dd>
<p>If <i>secs</i> > 0: If the semaphore is not released within <i>secs</i> seconds, take it anyway.</p>
Files old/parallel-20150722/src/sem.pdf and new/parallel-20150822/src/sem.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sem.pod new/parallel-20150822/src/sem.pod
--- old/parallel-20150722/src/sem.pod 2015-05-10 17:46:38.000000000 +0200
+++ new/parallel-20150822/src/sem.pod 2015-08-16 03:02:54.000000000 +0200
@@ -138,9 +138,9 @@
exits.
-=item B<--semaphoretimeout> I<secs> (alpha testing)
+=item B<--semaphoretimeout> I<secs> (beta testing)
-=item B<--st> I<secs> (alpha testing)
+=item B<--st> I<secs> (beta testing)
If I<secs> > 0: If the semaphore is not released within I<secs>
seconds, take it anyway.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sem.texi new/parallel-20150822/src/sem.texi
--- old/parallel-20150722/src/sem.texi 2015-07-22 08:02:42.000000000 +0200
+++ new/parallel-20150822/src/sem.texi 2015-08-16 14:44:28.000000000 +0200
@@ -181,11 +181,11 @@
takes a person to the toilet, waits for the person to finish, and
exits.
-@item @strong{--semaphoretimeout} @emph{secs} (alpha testing)
-@anchor{@strong{--semaphoretimeout} @emph{secs} (alpha testing)}
+@item @strong{--semaphoretimeout} @emph{secs} (beta testing)
+@anchor{@strong{--semaphoretimeout} @emph{secs} (beta testing)}
-@item @strong{--st} @emph{secs} (alpha testing)
-@anchor{@strong{--st} @emph{secs} (alpha testing)}
+@item @strong{--st} @emph{secs} (beta testing)
+@anchor{@strong{--st} @emph{secs} (beta testing)}
If @emph{secs} > 0: If the semaphore is not released within @emph{secs}
seconds, take it anyway.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sql new/parallel-20150822/src/sql
--- old/parallel-20150722/src/sql 2015-07-22 08:31:20.000000000 +0200
+++ new/parallel-20150822/src/sql 2015-08-22 11:40:23.000000000 +0200
@@ -566,7 +566,7 @@
exit ($err);
sub parse_options {
- $Global::version = 20150722;
+ $Global::version = 20150822;
$Global::progname = 'sql';
# This must be done first as this may exec myself
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/parallel-20150722/src/sql.1 new/parallel-20150822/src/sql.1
--- old/parallel-20150722/src/sql.1 2015-07-22 08:31:42.000000000 +0200
+++ new/parallel-20150822/src/sql.1 2015-08-22 11:40:33.000000000 +0200
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "SQL 1"
-.TH SQL 1 "2015-07-22" "20150722" "parallel"
+.TH SQL 1 "2015-08-22" "20150822" "parallel"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
Files old/parallel-20150722/src/sql.pdf and new/parallel-20150822/src/sql.pdf differ
++++++ parallel-20150722.tar.bz2.sig -> parallel-20150822.tar.bz2.sig ++++++
--- /work/SRC/openSUSE:Factory/gnu_parallel/parallel-20150722.tar.bz2.sig 2015-07-28 11:43:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnu_parallel.new/parallel-20150822.tar.bz2.sig 2015-09-09 20:21:18.000000000 +0200
@@ -2,41 +2,41 @@
# To check the signature run:
# echo | gpg
-# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-20150722.tar.bz2.sig
+# gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve parallel-20150822.tar.bz2.sig
echo | gpg 2>/dev/null
gpg --auto-key-locate keyserver --keyserver-options auto-key-retrieve $0
exit $?
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.11 (GNU/Linux)
+Version: GnuPG v2.0.22 (GNU/Linux)
-iQTwBAABCgAGBQJVr0DYAAoJENGrRRaIiIiI0vcmoJDiyjI0jKEFWtzGTBJa60Uz
-aQFH1mgGETj2Xz1x1yfKplw1i8FcmQhLM57MdDtfimgHnouPjIGeoF3LRv7UdJd1
-k1rDtBa6AUp5uT0YLXWK95IB3O09EgMyHGq8nNiOJaSoz75FKfIAKuBPFS4C/aYw
-YNEOTfpb+MUsWdNlRErrZoIhoBqV4glDYLzHhoExVmuiqnXaNkLNHPiwvtxP6qLM
-DHXS9mxXs/IxrG7UM6/j1R9Hcz6xqT/pploCeo4XKeixQ379QYqzFSPXb8NAWJW7
-KHeZA1eAOey6M3aX64Q9r8o0tRkmFQb+z5AMuPjmSbesEtsnGlkL/B3jy/hOVUsK
-Qk3BiUMIXSF+R0vs1X5I83u9fRsSRzyFh634vtcVf0wsrvG4tmE3NOreeWmcQNEH
-jpTqzTCfIzSAVWqgYNPfWGfLKhZqlKCBCXNHclM4TrlBAaQaU6MMLlISpjBvFLKQ
-tuMkfajYWKlDMYuQ7sZ/YX1NO17Z2uVZfAn35SLBiQI+EjBrY3aHF+wEW4EsWWP6
-PiRE+NxkhPYy3BR00RHs2VOq3ongdo60Pv6bzlPyj+/7kYIFwhF2cIZdKhVwLMdH
-BEvDIsfRGF94MdInBPQdSHkdGKnG0zeYbClOOfv+yrDy6Z62bBfo/EtQB0NO7eXy
-kYRiJrnILz47lBMK9DmsZp1pVi8a29FT7iMbS6C26NsXIgEWggyyKIYFCd9UT+QV
-Eg95h5GLWN2oZ5u/LmCejbNYcm7dPCvSDLSJ2XUunRVgqcEdGJv++F1ml5resr0O
-WuqdgB/GcjuPkdPh1XRhHYg8lYtjp0eRV5qI9jRh/z/zPsJkVfKZJ9696KxEGOC9
-KGXDvBAh7KoObMu/yJVJYwFPY//HXmvNlHBe59Thp3Z3i0RGOOr/nuva+rOACm6F
-hZ9Vhg++saZvo8ZKoPDjzlRKYjbBQoJRE5SkIXuRn4YKkkN5x/lZatZCw+PDV/0a
-poTf/WwFqZlI+6QiMEej3sObYsDAEwtGdMY5u176QZYSdMzXydHHuAfMhLlCX+S/
-Ziav1gSs1tWkHEz1JCnnzK9kogGb47kkhEe8Oew3d+3+UP1NWEokoBoBsgl04WUj
-AOh5r4sF/Yv9wJuiYZS5ye8A25dmO/ZyTtdYkS3nKOcCe9bygKSOHlApQKUJySmI
-eUooDMsP1RCSaeSgQNPXaH0y2snCC3cznx894R6/W3MLL5fcdbl3I3+K2Sm7nH6L
-AkCP8X1b2IYheSFCiFLaQ1OoUz126zX49Y//PE/WqivolN+SrWgI0W7sRwWpka2k
-FGI+FlA8FWAu9W23OEANUiDV/1YhLuk1Hss0cjX4gPy0Zw1hlxg9DYSg5QQ0sfj/
-W5oeVHjUNPjAl6CGHFbxbgejJqgnBT52C183JfZYmdx1KhrRQE26QnyCxXhdLHGU
-zJZ1Pg4QNj8Z8J0/c566andx3faCJ3ugvLz7pGhEmCiJhFcioogUlXvmQ7EiYwHY
-IvF2gWedVdqi0jUhSt0h3MbeT12jpgHbfWI9ArQlHNSfthoquutlyoELu5UMED4N
-f2N63kFaOVhkuCVIpAg0m9ARyIx85z8Klt76W95jx4srK1mj9XzAzRjdgrukPSGC
-aeWPD0+6n3NZaQ0YP1E6sQFSOA==
-=H1CC
+iQTwBAABCgAGBQJV2EQJAAoJENGrRRaIiIiIBDwmoJ/yd2AbLHGy1mumdxWdcbr8
+xS8gSPgkTDCwcCaxHxIf88bONqvOBOHsdEOuGTAA2wFSGBKbALF6Qd0ucGxQm21Y
+ka1UwHYkkjbnbMbS9myrWar2zFr5Bz8LyKBsunY4DjzZ/uiYqe1M2ohnEvxUvEUK
+6jF2NYtTjI1QqN5xiaZCJxYmTSrdmNjuEbZ4X4ANCCGZn/4V2yQeByhm3+0R+Gn1
+S1WRJDGHJB3RnQClcXVoyDBOxqDTm/+/QtXeh5NMoNHKH6gmS6psQ3RvPPOfkwct
+vNhwAZq6oTrHVn6hoKlK8BLWxNewRqCc6MFX5/Bg6cJyaf5ubjQUn/sayQJnv3zA
+NbfGDt5mZdVZz371DHdM7G1lmyq8F4YfKyzuND5dFCua57+yQU72wnKp3pvEWMT3
+pdnkCkQ8MBZyx+RKFKHjYFPJEKDtMZ3ZZNag6/1+Fzt67AmAb18F4NOdH6vwTppn
+sdPPXEaJlPIf/ij1xVnF11vrjDp3V6+deqraa1HD2XVj6g3Zrx9KewyLqeGDtYjU
+rM240NVYABq99xcmhhx+P8Pc/4x0/XRTEuSmv26YDMJq2AyAJwwEFgAQCtpLbUsD
+s1tM7eyniWmduhxQixMAS+yuuNAFp/ATWPafYO8kaKu94fQpmpYcyuWn9TNi+6aT
+jZfo8U7xJ0fbl9qCCvUODqs63JdGT52x8MNLi0RsLY9dDxRgLUrqSqVT6CfczZAp
+5sflqj7D/UZawK7BqnbtM+UyMCtFOV7vKZ7zd6cMuAoRRAjRNOG+83BPAxriWXtb
+wun+gBf9xk1HlvDxi4j6FT0ro4KNfqZB1JrMiIYqMbpgqwN2p0WWb3I/Shi2RnKk
+IaX3Esv6Ji3G2MPW/hhYcoHDWHb0vzbSvV5KRU4w7ALAwKFsy106/JgUfbGHsUK7
+3lNpfWjkXuVzqQJBb5Lw5L8rArLpL9w4XJyfxIKE4r0NcHJVcPFgSGh2aO9IsUQm
+zGw6tIeKobRXkGWTsd8CV0yiKcCQjGF6wKxQbxCZpmCZUv3b8CIn/vgm56cka3Dc
+JmAVhE4ZjNfNR0BF74Da/rkggj30/fu+quMDyVNerfRKfR34G+4TQ5pAEq5UICZ9
++BGUkRGJxVKN+WCPn1+xYAPqu+3F6kaNQt9lJbct9lhDaIlfZ9/c42eK5X/4aQo/
+XE+Z+bg8sBxaK84Sht1g4dbV6H+7EpzL539cmCT4Hw1WYyGN8uoSB+KPA9geyPDN
+KVcOcl6XNV/dvzjoK+FWJyKIld+pClQ8lJH+EZqHHvCnRIMXbPWxAotewwgiHSwu
+wn+iyVdTMzZIxalsmQfb03MPeGDB8QznYYgYNer11tqaN8sNfs7nxvrDy2J+Qqdz
+GY4S1rFYSLuAsG8H6JU7CbnVHEONDoB+vEJ6xsNYFRAcoJua8z8/1jB5ASKc10IK
+idrtWEt/jjSi5q68xRaBVvDjh8UjHzOag+ndT3om01UofXi5ZeLXpGjO6BJOt8iK
+7ek61IjEVuen6oud57/s61kruLIq/RJ4kbgK0drg6QElcRRK5riXfvr2M8TKc2dh
+3yto8jcogMRMfsbdBQYOxYZCbyyDz56TbzT9lto6p2DwcIa5rxAG7NgEJnvua20S
+eH4hBm8ynd/3lqb1mkarWJh8yA==
+=51yS
-----END PGP SIGNATURE-----
1
0
Hello community,
here is the log from the commit of package perl-Net-OpenID-Consumer for openSUSE:Factory checked in at 2015-09-09 20:21:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Net-OpenID-Consumer (Old)
and /work/SRC/openSUSE:Factory/.perl-Net-OpenID-Consumer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Net-OpenID-Consumer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Net-OpenID-Consumer/perl-Net-OpenID-Consumer.changes 2015-08-28 08:27:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Net-OpenID-Consumer.new/perl-Net-OpenID-Consumer.changes 2015-09-09 20:21:16.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 4 16:03:44 UTC 2015 - oholecek(a)suse.com
+
+- add utf-charset.patch to fix login with utf characters
+
+-------------------------------------------------------------------
New:
----
utf-charset.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Net-OpenID-Consumer.spec ++++++
--- /var/tmp/diff_new_pack.poNGqo/_old 2015-09-09 20:21:17.000000000 +0200
+++ /var/tmp/diff_new_pack.poNGqo/_new 2015-09-09 20:21:17.000000000 +0200
@@ -25,6 +25,8 @@
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Net-OpenID-Consumer/
Source: http://www.cpan.org/authors/id/W/WR/WROG/%{cpan_name}-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM utf-charset.patch rt.cpan.org#106930
+Patch: utf-charset.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
@@ -53,6 +55,7 @@
%prep
%setup -q -n %{cpan_name}-%{version}
+%patch -p 1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
++++++ utf-charset.patch ++++++
diff --git a/lib/Net/OpenID/Consumer.pm b/lib/Net/OpenID/Consumer.pm
index a2261cb..9a9953b 100644
--- a/lib/Net/OpenID/Consumer.pm
+++ b/lib/Net/OpenID/Consumer.pm
@@ -976,7 +976,7 @@ sub verified_identity {
$post{"openid.mode"} = "check_authentication";
my $req = HTTP::Request->new(POST => $server);
- $req->header("Content-Type" => "application/x-www-form-urlencoded");
+ $req->header("Content-Type" => "application/x-www-form-urlencoded; charset=UTF-8");
$req->content(join("&", map { "$_=" . uri_escape_utf8($post{$_}) } keys %post));
my $ua = $self->ua;
1
0
Hello community,
here is the log from the commit of package plank for openSUSE:Factory checked in at 2015-09-09 20:21:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plank (Old)
and /work/SRC/openSUSE:Factory/.plank.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plank"
Changes:
--------
--- /work/SRC/openSUSE:Factory/plank/plank.changes 2015-05-16 19:01:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.plank.new/plank.changes 2015-09-09 20:21:15.000000000 +0200
@@ -1,0 +2,27 @@
+Tue Sep 8 08:35:50 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.10.0:
+ * Clean up and review appearances of DockItem in API an prefer
+ DockElement.
+ * Make the item for the dock-itself really special with its own
+ setting.
+ * Pass-through event on scroll/click to have a proper timestamps
+ for WindowControl.* calls (lp#1167787, lp#1431556).
+ * Handle invalid item on runtime (lp#1444830).
+ * Fix LogLevel naming (Logger.FATAL -> Logger.ERROR,
+ Logger.ERROR -> Logger.CRITICAL).
+ * Make DockItem abstract.
+ * Add frame_time to AnimatedRenderer with conditional use of
+ GdkFrameClock (gtk+ >= 3.8).
+ * Add RTL support (lp#1455892).
+ * Add DODGE_ACTIVE hide-mode.
+ * Conditional use of GtkStack instead of GtkNotebook in
+ preferences-dialog (gtk+ >= 3.10).
+ * Drop conditional dependency on gnome-common (and rely on
+ autoconf-archive).
+ * Add icon-zoom hover-effect (lp#707650).
+ * Don't use pressure reveal for absolute input devices
+ (lp#1349506).
+ * Force indicating running applications (lp#1406282).
+
+-------------------------------------------------------------------
Old:
----
plank-0.9.1.tar.xz
plank-0.9.1.tar.xz.asc
New:
----
plank-0.10.0.tar.xz
plank-0.10.0.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plank.spec ++++++
--- /var/tmp/diff_new_pack.4gKool/_old 2015-09-09 20:21:16.000000000 +0200
+++ /var/tmp/diff_new_pack.4gKool/_new 2015-09-09 20:21:16.000000000 +0200
@@ -19,7 +19,7 @@
%define lname libplank0
%define _version 1.0
Name: plank
-Version: 0.9.1
+Version: 0.10.0
Release: 0
Summary: Elegant, simple, and clean dock
License: GPL-3.0+
@@ -27,7 +27,7 @@
Url: https://launchpad.net/plank
Source: https://launchpad.net/%{name}/%{_version}/%{version}/+download/%{name}-%{ve…
Source2: https://launchpad.net/%{name}/%{_version}/%{version}/+download/%{name}-%{ve…
-Source3: %name.keyring
+Source3: %{name}.keyring
BuildRequires: autoconf >= 2.65
BuildRequires: automake >= 1.11
BuildRequires: intltool
@@ -54,7 +54,7 @@
BuildRequires: pkgconfig(xfixes) >= 5.0
BuildRequires: pkgconfig(xi) >= 1.6.99.1
Requires: bamf-daemon >= 0.2.92
-Recommends: %{name}-lang = %{version}
+Recommends: %{name}-lang
%description
Plank is meant to be the simplest dock on the planet. The goal is
++++++ plank-0.9.1.tar.xz -> plank-0.10.0.tar.xz ++++++
++++ 36609 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2015-09-09 20:21:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
and /work/SRC/openSUSE:Factory/.virt-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager"
Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2015-08-29 20:04:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes 2015-09-09 20:21:12.000000000 +0200
@@ -1,0 +2,23 @@
+Tue Sep 8 15:59:53 MDT 2015 - carnold(a)suse.com
+
+- bsc#942796 - Virtualization/virt-manager: Missing dependeny
+ virt-manager.spec
+
+-------------------------------------------------------------------
+Thu Sep 3 10:43:15 MDT 2015 - carnold(a)suse.com
+
+- bsc#944374 - virt-manager uninstallable on aarch64
+ virt-manager.spec
+- Add upstream bug fix
+ 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
+- Drop virtinst-detect-windows-media.patch as this is not needed
+ now that we use libosinfo
+
+-------------------------------------------------------------------
+Mon Aug 31 16:41:28 MDT 2015 - carnold(a)suse.com
+
+- Drop virtinst-fix-storage-pool-lookup.patch in favor of upstream
+ version (bsc#941464).
+ eb92178e-virtinst-fix-storage-pool-lookup.patch
+
+-------------------------------------------------------------------
Old:
----
virtinst-detect-windows-media.patch
virtinst-fix-storage-pool-lookup.patch
New:
----
5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
eb92178e-virtinst-fix-storage-pool-lookup.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.jjfIMf/_old 2015-09-09 20:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.jjfIMf/_new 2015-09-09 20:21:14.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package virt-manager
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -45,6 +45,8 @@
Patch6: f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch
Patch7: aebebbf8-report-an-error-for-pxe-install-without-network.patch
Patch8: 4970615f-fix-qemu-vs-lxc-detection.patch
+Patch9: eb92178e-virtinst-fix-storage-pool-lookup.patch
+Patch10: 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@@ -70,10 +72,9 @@
Patch123: virtinst-detect-oes-distros.patch
Patch124: virtinst-modify-gui-defaults.patch
Patch125: virtinst-vol-default-nocow.patch
-Patch126: virtinst-detect-windows-media.patch
-Patch127: virtinst-set-cache-mode-unsafe-for-install.patch
-Patch128: virtinst-add-default-rng-device.patch
-Patch129: virtinst-set-qemu-emulator.patch
+Patch126: virtinst-set-cache-mode-unsafe-for-install.patch
+Patch127: virtinst-add-default-rng-device.patch
+Patch128: virtinst-set-qemu-emulator.patch
# Bug Fixes
Patch150: virtman-supported-disk-formats.patch
Patch151: virtman-prevent-double-click-starting-vm-twice.patch
@@ -85,7 +86,6 @@
Patch161: virtinst-xenbus-disk-index-fix.patch
Patch162: virtinst-refresh_before_fetch_pool.patch
Patch163: virtinst-replace-unar-with-other-archivers.patch
-Patch164: virtinst-fix-storage-pool-lookup.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -95,30 +95,18 @@
Requires: dconf
Requires: gtk3
Requires: python-gconf
-Requires: virt-manager-common = %{verrel}
-Requires: vm-install >= 0.5.6
-
-# Typelib's
-Requires: typelib(GVnc)
-Requires: typelib(GtkVnc)
-Requires: typelib(LibvirtGLib)
-Requires: typelib(SpiceClientGtk)
-Requires: typelib(Vte)
-
# For console widget
Requires: python-gobject-cairo
Recommends: python-SpiceClientGtk
-
Requires: virt-install
+Requires: virt-manager-common = %{verrel}
+Recommends: vm-install >= 0.5.6
%if %{with_guestfs}
Requires: python-libguestfs
%endif
BuildRequires: glib2-devel
-%if 0%{?suse_version} > 1320
-BuildRequires: gobject-introspection
-%endif
BuildRequires: intltool
BuildRequires: perl
BuildRequires: python
@@ -142,7 +130,17 @@
Requires: python-ipaddr
Requires: python-libxml2
Requires: python-urlgrabber
+%if 0%{?is_opensuse}
+BuildRequires: gobject-introspection
+%else
+Recommends: typelib(AppIndicator3)
+Requires: typelib(GVnc)
+Requires: typelib(GtkVnc)
Requires: typelib(Libosinfo)
+Requires: typelib(LibvirtGLib)
+Requires: typelib(SpiceClientGtk)
+Requires: typelib(Vte)
+%endif
%description common
Common files used by the different virt-manager interfaces, as well as
@@ -178,6 +176,8 @@
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
+%patch10 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1
@@ -206,7 +206,6 @@
%patch126 -p1
%patch127 -p1
%patch128 -p1
-%patch129 -p1
# Bug Fixes
%patch150 -p1
%patch151 -p1
@@ -218,7 +217,6 @@
%patch161 -p1
%patch162 -p1
%patch163 -p1
-%patch164 -p1
%build
%if %{qemu_user}
++++++ 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch ++++++
Subject: guest: Don't try to set vmport on non-x86, it isn't supported (bz 1259998)
From: Cole Robinson crobinso(a)redhat.com Fri Sep 4 12:14:22 2015 -0400
Date: Fri Sep 4 12:14:22 2015 -0400:
Git: 5e68b0fc3d9b93491817a3c1914fa9b3633440b6
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml
@@ -8,12 +8,6 @@
<type arch="ppc64" machine="pseries">hvm</type>
<boot dev="network"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <pae/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
===================================================================
--- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml
@@ -8,11 +8,6 @@
<type arch="ppc64le" machine="pseries">hvm</type>
<boot dev="hd"/>
</os>
- <features>
- <acpi/>
- <apic/>
- <vmport state="off"/>
- </features>
<clock offset="utc"/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
Index: virt-manager-1.2.1/virtinst/guest.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py
+++ virt-manager-1.2.1/virtinst/guest.py
@@ -847,6 +847,7 @@ class Guest(XMLBuilder):
self.features.pae = self.conn.caps.supports_pae()
if (self.features.vmport == "default" and
+ self.os.is_x86() and
self.has_spice() and
self.conn.check_support(self.conn.SUPPORT_CONN_VMPORT)):
self.features.vmport = False
++++++ eb92178e-virtinst-fix-storage-pool-lookup.patch ++++++
Subject: storage: fix default storage pool lookup
From: Charles Arnold carnold(a)suse.com Wed Aug 12 16:00:14 2015 -0600
Date: Mon Aug 31 18:25:37 2015 -0400:
Git: eb92178e0c208c20c658dd3f38caf377bb788ae4
virt-convert fails when the storage pool is already present but
is not called 'default'.
If the 'default' pool has been removed but another pool uses the
default location of /var/lib/libvirt/images virt-convert will fail
to find the pool and attempt to create another one with the same
path. This causes the conversion to fail.
Signed-off-by: Charles Arnold <carnold(a)suse.com>
(crobinso: Remove now-redundant 'pass')
diff --git a/virtinst/storage.py b/virtinst/storage.py
index 285acb8..d3d867a 100644
--- a/virtinst/storage.py
+++ b/virtinst/storage.py
@@ -209,10 +209,12 @@ class StoragePool(_StorageObject):
try:
pool = conn.storagePoolLookupByName(name)
except libvirt.libvirtError:
- pass
+ # Try default pool path when "default" name fails
+ pool = StoragePool.lookup_pool_by_path(conn, path)
if pool:
- return
+ # This is a libvirt pool object so create a StoragePool from it
+ return StoragePool(conn, parsexml=pool.XMLDesc(0))
try:
logging.debug("Attempting to build default pool with target '%s'",
++++++ virtinst-storage-ocfs2.patch ++++++
--- /var/tmp/diff_new_pack.jjfIMf/_old 2015-09-09 20:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.jjfIMf/_new 2015-09-09 20:21:14.000000000 +0200
@@ -3,7 +3,7 @@
===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py
-@@ -447,7 +447,7 @@ class StoragePool(_StorageObject):
+@@ -449,7 +449,7 @@ class StoragePool(_StorageObject):
def list_formats(self):
if self.type == self.TYPE_FS:
return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf",
++++++ virtinst-vol-default-nocow.patch ++++++
--- /var/tmp/diff_new_pack.jjfIMf/_old 2015-09-09 20:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.jjfIMf/_new 2015-09-09 20:21:14.000000000 +0200
@@ -8,7 +8,7 @@
===================================================================
--- virt-manager-1.2.1.orig/virtinst/storage.py
+++ virt-manager-1.2.1/virtinst/storage.py
-@@ -716,6 +716,11 @@ class StorageVolume(_StorageObject):
+@@ -718,6 +718,11 @@ class StorageVolume(_StorageObject):
lazy_refcounts = XMLProperty("./target/features/lazy_refcounts",
is_bool=True, default_cb=_lazy_refcounts_default_cb)
++++++ virtman-add-s390x-arch-support.patch ++++++
--- /var/tmp/diff_new_pack.jjfIMf/_old 2015-09-09 20:21:14.000000000 +0200
+++ /var/tmp/diff_new_pack.jjfIMf/_new 2015-09-09 20:21:14.000000000 +0200
@@ -75,7 +75,7 @@
return
self.add_device(VirtualGraphics(self.conn))
-@@ -956,7 +961,7 @@ class Guest(XMLBuilder):
+@@ -957,7 +962,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True
1
0
Hello community,
here is the log from the commit of package librelp for openSUSE:Factory checked in at 2015-09-09 20:21:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librelp (Old)
and /work/SRC/openSUSE:Factory/.librelp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librelp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/librelp/librelp.changes 2014-04-30 15:06:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.librelp.new/librelp.changes 2015-09-09 20:21:10.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 8 19:51:14 UTC 2015 - astieger(a)suse.com
+
+- librelp 1.2.8:
+ * fix segfault if KEEPALIVE is used
+
+-------------------------------------------------------------------
Old:
----
librelp-1.2.7.tar.gz
New:
----
librelp-1.2.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librelp.spec ++++++
--- /var/tmp/diff_new_pack.gaHT1C/_old 2015-09-09 20:21:11.000000000 +0200
+++ /var/tmp/diff_new_pack.gaHT1C/_new 2015-09-09 20:21:11.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package librelp
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define library_name librelp0
Name: librelp
-Version: 1.2.7
+Version: 1.2.8
Release: 0
Summary: A reliable logging library
License: GPL-3.0+
++++++ librelp-1.2.7.tar.gz -> librelp-1.2.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/ChangeLog new/librelp-1.2.8/ChangeLog
--- old/librelp-1.2.7/ChangeLog 2014-04-28 17:59:02.000000000 +0200
+++ new/librelp-1.2.8/ChangeLog 2015-09-04 12:25:06.000000000 +0200
@@ -1,4 +1,8 @@
----------------------------------------------------------------------
+Version 1.2.8 - 2014-09-07
+- bugfix: segfault if KEEPALIVE is used
+ Thanks to Tomas Heinrich for the patch.
+----------------------------------------------------------------------
Version 1.2.7 - 2014-04-29
- bugfix: librelp was incompatible with C++ without a real reason
Thanks to Ivan Kryak for the patch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/INSTALL new/librelp-1.2.8/INSTALL
--- old/librelp-1.2.7/INSTALL 2014-03-20 09:02:39.000000000 +0100
+++ new/librelp-1.2.8/INSTALL 2015-09-04 12:25:39.000000000 +0200
@@ -12,8 +12,8 @@
Basic Installation
==================
- Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package. The following
+ Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/Makefile.in new/librelp-1.2.8/Makefile.in
--- old/librelp-1.2.7/Makefile.in 2014-04-28 17:59:17.000000000 +0200
+++ new/librelp-1.2.8/Makefile.in 2015-09-04 12:25:39.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -388,8 +388,8 @@
$(am__aclocal_m4_deps):
config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
@@ -621,10 +621,16 @@
$(am__post_remove_distdir)
dist-tarZ: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
@@ -666,9 +672,10 @@
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ && ../configure \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=.. --prefix="$$dc_install_base" \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/aclocal.m4 new/librelp-1.2.8/aclocal.m4
--- old/librelp-1.2.7/aclocal.m4 2014-04-28 17:59:15.000000000 +0200
+++ new/librelp-1.2.8/aclocal.m4 2015-09-04 12:25:37.000000000 +0200
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
@@ -180,46 +180,6 @@
fi[]dnl
])# PKG_CHECK_MODULES
-
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
- [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
- [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
-
-
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
- [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
- [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
- [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
-
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
@@ -232,10 +192,10 @@
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.13'
+[am__api_version='1.14'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.13.4], [],
+m4_if([$1], [1.14.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -251,7 +211,7 @@
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.4])dnl
+[AM_AUTOMAKE_VERSION([1.14.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
@@ -618,6 +578,12 @@
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
@@ -726,7 +692,48 @@
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi])
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
@@ -734,7 +741,6 @@
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. The stamp files are numbered to have different names.
@@ -846,38 +852,6 @@
rm -f confinc confmf
])
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_CC_C_O
-# --------------
-# Like AC_PROG_CC_C_O, but changed for automake.
-AC_DEFUN([AM_PROG_CC_C_O],
-[AC_REQUIRE([AC_PROG_CC_C_O])dnl
-AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-dnl Make sure AC_PROG_CC is never called again, or it will override our
-dnl setting of CC.
-m4_define([AC_PROG_CC],
- [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
-])
-
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997-2013 Free Software Foundation, Inc.
@@ -948,6 +922,70 @@
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2013 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
# Check to make sure that the build environment is sane. -*- Autoconf -*-
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/config.h.in new/librelp-1.2.8/config.h.in
--- old/librelp-1.2.7/config.h.in 2014-04-28 17:59:27.000000000 +0200
+++ new/librelp-1.2.8/config.h.in 2015-09-04 12:25:38.000000000 +0200
@@ -75,9 +75,6 @@
/* Defined if debug mode is disabled. */
#undef NDEBUG
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/config.sub new/librelp-1.2.8/config.sub
--- old/librelp-1.2.7/config.sub 2014-03-20 09:02:39.000000000 +0100
+++ new/librelp-1.2.8/config.sub 2015-09-04 12:25:39.000000000 +0200
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2013-04-24'
+timestamp='2013-08-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -257,7 +257,7 @@
| avr | avr32 \
| be32 | be64 \
| bfin \
- | c4x | clipper \
+ | c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
@@ -372,7 +372,7 @@
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
- | clipper-* | craynv-* | cydra-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -794,7 +794,7 @@
os=-mingw64
;;
mingw32)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
@@ -830,7 +830,7 @@
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
- basic_machine=i386-pc
+ basic_machine=i686-pc
os=-msys
;;
mvs)
@@ -1006,7 +1006,7 @@
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
@@ -1546,6 +1546,9 @@
c4x-* | tic4x-*)
os=-coff
;;
+ c8051-*)
+ os=-elf
+ ;;
hexagon-*)
os=-elf
;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/configure new/librelp-1.2.8/configure
--- old/librelp-1.2.7/configure 2014-04-28 17:59:19.000000000 +0200
+++ new/librelp-1.2.8/configure 2015-09-04 12:25:38.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for librelp 1.2.7.
+# Generated by GNU Autoconf 2.69 for librelp 1.2.8.
#
# Report bugs to <rgerhards(a)adiscon.com>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='librelp'
PACKAGE_TARNAME='librelp'
-PACKAGE_VERSION='1.2.7'
-PACKAGE_STRING='librelp 1.2.7'
+PACKAGE_VERSION='1.2.8'
+PACKAGE_STRING='librelp 1.2.8'
PACKAGE_BUGREPORT='rgerhards(a)adiscon.com'
PACKAGE_URL=''
@@ -1323,7 +1323,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures librelp 1.2.7 to adapt to many kinds of systems.
+\`configure' configures librelp 1.2.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1393,7 +1393,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of librelp 1.2.7:";;
+ short | recursive ) echo "Configuration of librelp 1.2.8:";;
esac
cat <<\_ACEOF
@@ -1508,7 +1508,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-librelp configure 1.2.7
+librelp configure 1.2.8
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2034,7 +2034,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by librelp $as_me 1.2.7, which was
+It was created by librelp $as_me 1.2.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2382,7 +2382,7 @@
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-am__api_version='1.13'
+am__api_version='1.14'
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
@@ -2897,7 +2897,7 @@
# Define the identity of the package.
PACKAGE='librelp'
- VERSION='1.2.7'
+ VERSION='1.2.8'
cat >>confdefs.h <<_ACEOF
@@ -2948,6 +2948,47 @@
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
if test "`cd $srcdir && pwd`" != "`pwd`"; then
# Use -I$(srcdir) only when $(srcdir) != ., so that make's output
# is not polluted with repeated "-I."
@@ -2970,7 +3011,7 @@
# Define the identity of the package.
PACKAGE='librelp'
- VERSION='1.2.7'
+ VERSION='1.2.8'
cat >>confdefs.h <<_ACEOF
@@ -3021,6 +3062,47 @@
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake(a)gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
# Check whether --enable-silent-rules was given.
if test "${enable_silent_rules+set}" = set; then :
enableval=$enable_silent_rules;
@@ -3854,6 +3936,65 @@
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
DEPDIR="${am__leading_dot}deps"
ac_config_commands="$ac_config_commands depfiles"
@@ -4174,131 +4315,6 @@
fi
-if test "x$CC" != xcc; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5
-$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5
-$as_echo_n "checking whether cc understands -c and -o together... " >&6; }
-fi
-set dummy $CC; ac_cc=`$as_echo "$2" |
- sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-# Make sure it works both with $CC and with simple cc.
-# We do the test twice because some compilers refuse to overwrite an
-# existing .o file with -o, though they will create one.
-ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-rm -f conftest2.*
-if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
-then
- eval ac_cv_prog_cc_${ac_cc}_c_o=yes
- if test "x$CC" != xcc; then
- # Test first that cc exists at all.
- if { ac_try='cc -c conftest.$ac_ext >&5'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
- rm -f conftest2.*
- if { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } &&
- test -f conftest2.$ac_objext && { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; };
- then
- # cc works too.
- :
- else
- # cc exists but doesn't like -o.
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
- fi
- fi
- fi
-else
- eval ac_cv_prog_cc_${ac_cc}_c_o=no
-fi
-rm -f core conftest*
-
-fi
-if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h
-
-fi
-
-# FIXME: we rely on the cache variable name because
-# there is no other way.
-set dummy $CC
-am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
-eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
-if test "$am_t" != yes; then
- # Losing compiler, so override with the script.
- # FIXME: It is wrong to rewrite CC.
- # But if we don't then we get into trouble of one sort or another.
- # A longer-term fix would be to have automake use am__CC in this case,
- # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
- CC="$am_aux_dir/compile $CC"
-fi
-
if test "$GCC" = "yes"
then CFLAGS="$CFLAGS -W -Wall -Wformat-security -Wshadow -Wcast-align -Wpointer-arith -Wmissing-format-attribute -g"
@@ -5189,7 +5205,8 @@
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
@@ -5590,10 +5607,6 @@
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -5632,11 +5645,11 @@
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
else
@@ -6730,12 +6743,19 @@
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
- powerpc64le-*linux*)
+ powerpc64le-*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*linux*)
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -6754,10 +6774,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*linux*)
+ powerpcle-*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*linux*)
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -8565,7 +8585,7 @@
lt_prog_compiler_static='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -9043,6 +9063,9 @@
openbsd*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ link_all_deplibs=no
+ ;;
esac
ld_shlibs=yes
@@ -9264,7 +9287,7 @@
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -9441,6 +9464,7 @@
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ link_all_deplibs=no
else
# not using gcc
if test "$host_cpu" = ia64; then
@@ -9894,7 +9918,7 @@
link_all_deplibs=yes
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -10731,17 +10755,6 @@
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
@@ -10858,7 +10871,7 @@
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
@@ -10907,14 +10920,10 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10926,6 +10935,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -13321,7 +13342,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by librelp $as_me 1.2.7, which was
+This file was extended by librelp $as_me 1.2.8, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13387,7 +13408,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-librelp config.status 1.2.7
+librelp config.status 1.2.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/configure.ac new/librelp-1.2.8/configure.ac
--- old/librelp-1.2.7/configure.ac 2014-04-28 17:58:53.000000000 +0200
+++ new/librelp-1.2.8/configure.ac 2015-09-04 12:25:31.000000000 +0200
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
-AC_INIT([librelp], [1.2.7], [rgerhards(a)adiscon.com]
+AC_INIT([librelp], [1.2.8], [rgerhards(a)adiscon.com]
AM_INIT_AUTOMAKE
AM_INIT_AUTOMAKE
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/doc/Makefile.in new/librelp-1.2.8/doc/Makefile.in
--- old/librelp-1.2.7/doc/Makefile.in 2014-04-28 17:59:18.000000000 +0200
+++ new/librelp-1.2.8/doc/Makefile.in 2015-09-04 12:25:39.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/ltmain.sh new/librelp-1.2.8/ltmain.sh
--- old/librelp-1.2.7/ltmain.sh 2014-03-20 09:02:27.000000000 +0100
+++ new/librelp-1.2.8/ltmain.sh 2015-09-04 12:25:35.000000000 +0200
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION=2.4.2
+VERSION="2.4.2 Debian-2.4.2-1.7ubuntu1"
TIMESTAMP=""
package_revision=1.3337
@@ -6124,7 +6124,10 @@
case $pass in
dlopen) libs="$dlfiles" ;;
dlpreopen) libs="$dlprefiles" ;;
- link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
esac
fi
if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -6444,19 +6447,19 @@
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps ; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
elif test "$linkmode" != prog && test "$linkmode" != lib; then
func_fatal_error "\`$lib' is not a convenience library"
fi
- tmp_libs=
- for deplib in $dependency_libs; do
- deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps ; then
- case "$tmp_libs " in
- *" $deplib "*) func_append specialdeplibs " $deplib" ;;
- esac
- fi
- func_append tmp_libs " $deplib"
- done
continue
fi # $pass = conv
@@ -7349,6 +7352,9 @@
revision="$number_minor"
lt_irix_increment=no
;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ ;;
esac
;;
no)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/m4/libtool.m4 new/librelp-1.2.8/m4/libtool.m4
--- old/librelp-1.2.7/m4/libtool.m4 2014-03-20 09:02:27.000000000 +0100
+++ new/librelp-1.2.8/m4/libtool.m4 2015-09-04 12:25:35.000000000 +0200
@@ -1324,12 +1324,19 @@
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
- powerpc64le-*linux*)
+ powerpc64le-*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*linux*)
+ powerpc64-*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1348,10 +1355,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*linux*)
+ powerpcle-*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*linux*)
+ powerpc-*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -1694,7 +1701,8 @@
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
@@ -2518,17 +2526,6 @@
esac
;;
-gnu*)
- version_type=linux # correct to gnu/linux during the next big refactor
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
@@ -2645,7 +2642,7 @@
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
@@ -2675,14 +2672,10 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Add ABI-specific directories to the system library path.
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
# Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi
# We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2694,6 +2687,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -3253,10 +3258,6 @@
fi
;;
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3295,11 +3296,11 @@
;;
# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -4047,7 +4048,7 @@
;;
esac
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# KAI C++ Compiler
@@ -4111,7 +4112,7 @@
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4346,7 +4347,7 @@
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
# old Intel for x86_64 which still supported -KPIC.
ecc*)
@@ -4588,6 +4589,9 @@
;;
esac
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
*)
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
;;
@@ -4650,6 +4654,9 @@
openbsd*)
with_gnu_ld=no
;;
+ linux* | k*bsd*-gnu | gnu*)
+ _LT_TAGVAR(link_all_deplibs, $1)=no
+ ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4871,7 +4878,7 @@
fi
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5048,6 +5055,7 @@
if test "$aix_use_runtimelinking" = yes; then
shared_flag="$shared_flag "'${wl}-G'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
# not using gcc
if test "$host_cpu" = ia64; then
@@ -5352,7 +5360,7 @@
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -6232,9 +6240,6 @@
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- gnu*)
- ;;
-
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6396,7 +6401,7 @@
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
KCC*)
# Kuck and Associates, Inc. (KAI) C++ Compiler
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/missing new/librelp-1.2.8/missing
--- old/librelp-1.2.7/missing 2014-03-20 09:02:39.000000000 +0100
+++ new/librelp-1.2.8/missing 2015-09-04 12:25:39.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/src/Makefile.in new/librelp-1.2.8/src/Makefile.in
--- old/librelp-1.2.7/src/Makefile.in 2014-04-28 17:59:18.000000000 +0200
+++ new/librelp-1.2.8/src/Makefile.in 2015-09-04 12:25:39.000000000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.4 from Makefile.am.
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -458,14 +458,14 @@
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/src/relpsess.c new/librelp-1.2.8/src/relpsess.c
--- old/librelp-1.2.7/src/relpsess.c 2014-01-22 16:57:13.000000000 +0100
+++ new/librelp-1.2.8/src/relpsess.c 2015-04-27 09:27:16.000000000 +0200
@@ -1,6 +1,14 @@
/* This module implements the relp sess object.
*
- * Copyright 2008-2013 by Rainer Gerhards and Adiscon GmbH.
+ * Copyright 2008-2015 by Rainer Gerhards and Adiscon GmbH.
+ *
+ * To clarify on session handling: There is no upper limit of the number
+ * of sessions, except for system ressources. Some left-over comment
+ * suggest there has been a session limit at least in planning, but
+ * none exists. Sessions objects are allocated off the heap and kept in
+ * a linked list. Note, however, that performance may become worse if
+ * a very large number of sessions exists, due to the current O(n)
+ * algo for polling the sessions for activity.
*
* This file is part of librelp.
*
@@ -190,8 +198,6 @@
CHKRet(relpSessConstruct(&pThis, pSrv->pEngine, RELP_SRV_CONN, pSrv));
CHKRet(relpTcpAcceptConnReq(&pThis->pTcp, sock, pSrv));
- /* TODO: check against max# sessions */
-
*ppThis = pThis;
finalize_it:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librelp-1.2.7/src/tcp.c new/librelp-1.2.8/src/tcp.c
--- old/librelp-1.2.7/src/tcp.c 2014-04-22 15:33:25.000000000 +0200
+++ new/librelp-1.2.8/src/tcp.c 2015-04-27 09:23:57.000000000 +0200
@@ -713,12 +713,12 @@
ABORT_FINALIZE(RELP_RET_ACCEPT_ERR);
}
- if(pSrv->bKeepAlive)
- EnableKeepAlive(pThis, pSrv, iNewSock);
-
/* construct our object so that we can use it... */
CHKRet(relpTcpConstruct(&pThis, pEngine, RELP_SRV_CONN, pSrv));
+ if(pSrv->bKeepAlive)
+ EnableKeepAlive(pThis, pSrv, iNewSock);
+
/* TODO: obtain hostname, normalize (callback?), save it */
CHKRet(relpTcpSetRemHost(pThis, (struct sockaddr*) &addr));
pThis->pEngine->dbgprint("remote host is '%s', ip '%s'\n", pThis->pRemHostName, pThis->pRemHostIP);
1
0
Hello community,
here is the log from the commit of package s3backer for openSUSE:Factory checked in at 2015-09-09 20:21:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/s3backer (Old)
and /work/SRC/openSUSE:Factory/.s3backer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "s3backer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/s3backer/s3backer.changes 2015-05-11 20:41:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.s3backer.new/s3backer.changes 2015-09-09 20:21:09.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 1 14:54:07 UTC 2015 - archie(a)dellroad.org
+
+- Update to release 1.4.2
+ + Update license to fix OpenSSL vs. GPL conflict
+
+-------------------------------------------------------------------
Old:
----
s3backer-1.4.1.tar.gz
New:
----
s3backer-1.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ s3backer.spec ++++++
--- /var/tmp/diff_new_pack.m8zvLm/_old 2015-09-09 20:21:09.000000000 +0200
+++ /var/tmp/diff_new_pack.m8zvLm/_new 2015-09-09 20:21:09.000000000 +0200
@@ -18,7 +18,7 @@
Name: s3backer
-Version: 1.4.1
+Version: 1.4.2
Release: 0
Summary: FUSE-based single file backing store via Amazon S3
License: GPL-2.0+
++++++ s3backer-1.4.1.tar.gz -> s3backer-1.4.2.tar.gz ++++++
++++ 1824 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/CHANGES new/s3backer-1.4.2/CHANGES
--- old/s3backer-1.4.1/CHANGES 2015-05-04 17:49:52.000000000 +0200
+++ new/s3backer-1.4.2/CHANGES 2015-09-01 16:45:24.000000000 +0200
@@ -1,3 +1,9 @@
+Version 1.4.2 released September 1, 2015
+
+ - Update license to fix OpenSSL vs. GPL conflict
+ - Remove obsolete Debian files
+ - Fix typos in help output
+
Version 1.4.1 released May 4, 2015
- Fix use-after-free bug configuring base URL (github issue #44)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/COPYING new/s3backer-1.4.2/COPYING
--- old/s3backer-1.4.1/COPYING 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/COPYING 2015-09-01 16:45:24.000000000 +0200
@@ -1,3 +1,18 @@
+
+In addition to the license below, as a special exception, the copyright holders
+give permission to link the code of portions of this program with the OpenSSL
+library under certain conditions as described in each individual source file,
+and distribute linked combinations including the two.
+
+You must obey the GNU General Public License in all respects for all of the code
+used other than OpenSSL. If you modify file(s) with this exception, you may
+extend this exception to your version of the file(s), but you are not obligated
+to do so. If you do not wish to do so, delete this exception statement from
+your version. If you delete this exception statement from all source files in
+the program, then also delete it here.
+
+----------------------
+
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/Makefile.am new/s3backer-1.4.2/Makefile.am
--- old/s3backer-1.4.1/Makefile.am 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/Makefile.am 2015-09-01 16:45:24.000000000 +0200
@@ -19,6 +19,19 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
+# In addition, as a special exception, the copyright holders give
+# permission to link the code of portions of this program with the
+# OpenSSL library under certain conditions as described in each
+# individual source file, and distribute linked combinations including
+# the two.
+#
+# You must obey the GNU General Public License in all respects for all
+# of the code used other than OpenSSL. If you modify file(s) with this
+# exception, you may extend this exception to your version of the
+# file(s), but you are not obligated to do so. If you do not wish to do
+# so, delete this exception statement from your version. If you delete
+# this exception statement from all source files in the program, then
+# also delete it here.
bin_PROGRAMS= s3backer
@@ -74,8 +87,6 @@
AM_CFLAGS= $(FUSE_CFLAGS)
-SUBDIRS= debian
-
gitrev.c:
printf 'const char *const s3backer_version = "%s";\n' "`git describe`" > gitrev.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/block_cache.c new/s3backer-1.4.2/block_cache.c
--- old/s3backer-1.4.1/block_cache.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/block_cache.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/block_cache.h new/s3backer-1.4.2/block_cache.h
--- old/s3backer-1.4.1/block_cache.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/block_cache.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* Configuration info structure for block_cache */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/block_part.c new/s3backer-1.4.2/block_part.c
--- old/s3backer-1.4.1/block_part.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/block_part.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/block_part.h new/s3backer-1.4.2/block_part.h
--- old/s3backer-1.4.1/block_part.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/block_part.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* block_part.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/configure.ac new/s3backer-1.4.2/configure.ac
--- old/s3backer-1.4.1/configure.ac 2015-05-04 17:50:05.000000000 +0200
+++ new/s3backer-1.4.2/configure.ac 2015-09-01 16:48:10.000000000 +0200
@@ -18,10 +18,23 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
+# In addition, as a special exception, the copyright holders give
+# permission to link the code of portions of this program with the
+# OpenSSL library under certain conditions as described in each
+# individual source file, and distribute linked combinations including
+# the two.
+#
+# You must obey the GNU General Public License in all respects for all
+# of the code used other than OpenSSL. If you modify file(s) with this
+# exception, you may extend this exception to your version of the
+# file(s), but you are not obligated to do so. If you do not wish to do
+# so, delete this exception statement from your version. If you delete
+# this exception statement from all source files in the program, then
+# also delete it here.
-AC_INIT([s3backer FUSE filesystem backed by Amazon S3], [1.4.1], [https://github.com/archiecobbs/s3backer] [s3backer])
+AC_INIT([s3backer FUSE filesystem backed by Amazon S3], [1.4.2], [https://github.com/archiecobbs/s3backer] [s3backer])
AC_CONFIG_AUX_DIR(scripts)
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE(foreign)
dnl AM_MAINTAINER_MODE
AC_PREREQ(2.59)
AC_PREFIX_DEFAULT(/usr)
@@ -113,7 +126,6 @@
# Generated files
AC_CONFIG_FILES(Makefile)
-AC_CONFIG_FILES(debian/Makefile)
AC_CONFIG_FILES(s3backer.spec)
AM_CONFIG_HEADER(config.h)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/dcache.c new/s3backer-1.4.2/dcache.c
--- old/s3backer-1.4.1/dcache.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/dcache.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/dcache.h new/s3backer-1.4.2/dcache.h
--- old/s3backer-1.4.1/dcache.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/dcache.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/Makefile.am new/s3backer-1.4.2/debian/Makefile.am
--- old/s3backer-1.4.1/debian/Makefile.am 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/Makefile.am 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-
-#
-# s3backer - FUSE-based single file backing store via Amazon S3
-#
-# Copyright 2008 Archie L. Cobbs <archie(a)dellroad.org>
-#
-# 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
-# of the License, 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-
-EXTRA_DIST= changelog compat control copyright dirs docs rules
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/changelog new/s3backer-1.4.2/debian/changelog
--- old/s3backer-1.4.1/debian/changelog 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/changelog 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-s3backer (1.2.2-0) intrepid; urgency=low
-
- * Initial release
-
- -- Peter Petrov <onestone(a)gmail.com> Wed, 24 Dec 2008 00:09:51 +0200
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/compat new/s3backer-1.4.2/debian/compat
--- old/s3backer-1.4.1/debian/compat 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/compat 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/control new/s3backer-1.4.2/debian/control
--- old/s3backer-1.4.1/debian/control 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/debian/control 1970-01-01 01:00:00.000000000 +0100
@@ -1,20 +0,0 @@
-Source: s3backer
-Section: net
-Priority: extra
-Maintainer: Peter Petrov <onestone(a)gmail.com>
-Build-Depends: cdbs, debhelper, autotools-dev, libfuse-dev, libcurl4-openssl-dev | libcurl-dev, libssl-dev, zlib1g-dev, libexpat1-dev, pkg-config
-Standards-Version: 3.8.0
-Homepage: https://github.com/archiecobbs/s3backer
-
-Package: s3backer
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: FUSE-based single file backing store via Amazon S3
- s3backer is a filesystem that contains a single file backed by the
- Amazon Simple Storage Service (Amazon S3). As a filesystem, it is
- quite small and simple: it provides a single normal file having a
- fixed size. The file is divided up into blocks, and the content of
- each block is stored in a unique Amazon S3 object. In other words,
- what s3backer provides is really more like an S3-backed virtual hard
- disk device, rather than a filesystem.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/copyright new/s3backer-1.4.2/debian/copyright
--- old/s3backer-1.4.1/debian/copyright 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/debian/copyright 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-This package was debianized by Peter Petrov <onestone(a)gmail.com> on
-Tue, 23 Dec 2008 19:25:53 +0200.
-
-It was downloaded from https://github.com/archiecobbs/s3backer
-
-Upstream Author(s):
-
- Archie L. Cobbs <archie(a)dellroad.org>
-
-Copyright:
-
- Copyright (C) 2008 Archie L. Cobbs
- Copyright (C) 2008 Peter Petrov
-
-License:
-
- This package 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 of the License, or
- (at your option) any later version.
-
- This package 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 package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
-
-The Debian packaging is (C) 2008, Peter Petrov <onestone(a)gmail.com> and
-is licensed under the GPL, see above.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/dirs new/s3backer-1.4.2/debian/dirs
--- old/s3backer-1.4.1/debian/dirs 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/dirs 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/bin
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/docs new/s3backer-1.4.2/debian/docs
--- old/s3backer-1.4.1/debian/docs 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/docs 1970-01-01 01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-CHANGES
-COPYING
-README
-TODO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/debian/rules new/s3backer-1.4.2/debian/rules
--- old/s3backer-1.4.1/debian/rules 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/debian/rules 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-#!/usr/bin/make -f
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/autotools.mk
-
-
-# Add here any variable or target overrides you need.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/ec_protect.c new/s3backer-1.4.2/ec_protect.c
--- old/s3backer-1.4.1/ec_protect.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/ec_protect.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/ec_protect.h new/s3backer-1.4.2/ec_protect.h
--- old/s3backer-1.4.1/ec_protect.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/ec_protect.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* Configuration info structure for ec_protect store */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/erase.c new/s3backer-1.4.2/erase.c
--- old/s3backer-1.4.1/erase.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/erase.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/erase.h new/s3backer-1.4.2/erase.h
--- old/s3backer-1.4.1/erase.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/erase.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* erase.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/fuse_ops.c new/s3backer-1.4.2/fuse_ops.c
--- old/s3backer-1.4.1/fuse_ops.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/fuse_ops.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/fuse_ops.h new/s3backer-1.4.2/fuse_ops.h
--- old/s3backer-1.4.1/fuse_ops.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/fuse_ops.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* Forward decl's */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/gitrev.c new/s3backer-1.4.2/gitrev.c
--- old/s3backer-1.4.1/gitrev.c 2015-05-04 17:53:11.000000000 +0200
+++ new/s3backer-1.4.2/gitrev.c 2015-09-01 16:51:09.000000000 +0200
@@ -1 +1 @@
-const char *const s3backer_version = "1.4.1";
+const char *const s3backer_version = "1.4.2";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/hash.c new/s3backer-1.4.2/hash.c
--- old/s3backer-1.4.1/hash.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/hash.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/hash.h new/s3backer-1.4.2/hash.h
--- old/s3backer-1.4.1/hash.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/hash.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/http_io.c new/s3backer-1.4.2/http_io.c
--- old/s3backer-1.4.1/http_io.c 2015-04-30 23:07:05.000000000 +0200
+++ new/s3backer-1.4.2/http_io.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/http_io.h new/s3backer-1.4.2/http_io.h
--- old/s3backer-1.4.1/http_io.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/http_io.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* Upload/download indexes */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/main.c new/s3backer-1.4.2/main.c
--- old/s3backer-1.4.1/main.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/main.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/reset.c new/s3backer-1.4.2/reset.c
--- old/s3backer-1.4.1/reset.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/reset.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/reset.h new/s3backer-1.4.2/reset.h
--- old/s3backer-1.4.1/reset.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/reset.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* reset.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3b_config.c new/s3backer-1.4.2/s3b_config.c
--- old/s3backer-1.4.1/s3b_config.c 2015-05-01 15:32:39.000000000 +0200
+++ new/s3backer-1.4.2/s3b_config.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
@@ -1667,9 +1681,9 @@
fprintf(stderr, "\t--%-27s %s\n", "insecure", "Don't verify SSL server identity");
fprintf(stderr, "\t--%-27s %s\n", "keyLength", "Override generated cipher key length");
fprintf(stderr, "\t--%-27s %s\n", "listBlocks", "Auto-detect non-empty blocks at startup");
- fprintf(stderr, "\t--%-27s %s\n", "maxDownloadSpeed=BITSPERSEC", "Max download bandwith for a single read");
+ fprintf(stderr, "\t--%-27s %s\n", "maxDownloadSpeed=BITSPERSEC", "Max download bandwidth for a single read");
fprintf(stderr, "\t--%-27s %s\n", "maxRetryPause=MILLIS", "Max total pause after stale data or server error");
- fprintf(stderr, "\t--%-27s %s\n", "maxUploadSpeed=BITSPERSEC", "Max upload bandwith for a single write");
+ fprintf(stderr, "\t--%-27s %s\n", "maxUploadSpeed=BITSPERSEC", "Max upload bandwidth for a single write");
fprintf(stderr, "\t--%-27s %s\n", "md5CacheSize=NUM", "Max size of MD5 cache (zero = disabled)");
fprintf(stderr, "\t--%-27s %s\n", "md5CacheTime=MILLIS", "Expire time for MD5 cache (zero = infinite)");
fprintf(stderr, "\t--%-27s %s\n", "minWriteDelay=MILLIS", "Minimum time between same block writes");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3b_config.h new/s3backer-1.4.2/s3b_config.h
--- old/s3backer-1.4.1/s3b_config.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/s3b_config.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* Overal application configuration info */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3backer.1 new/s3backer-1.4.2/s3backer.1
--- old/s3backer-1.4.1/s3backer.1 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/s3backer.1 2015-09-01 16:45:24.000000000 +0200
@@ -19,6 +19,20 @@
.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
.\" 02110-1301, USA.
.\"
+.\" In addition, as a special exception, the copyright holders give
+.\" permission to link the code of portions of this program with the
+.\" OpenSSL library under certain conditions as described in each
+.\" individual source file, and distribute linked combinations including
+.\" the two.
+.\"
+.\" You must obey the GNU General Public License in all respects for all
+.\" of the code used other than OpenSSL. If you modify file(s) with this
+.\" exception, you may extend this exception to your version of the
+.\" file(s), but you are not obligated to do so. If you do not wish to do
+.\" so, delete this exception statement from your version. If you delete
+.\" this exception statement from all source files in the program, then
+.\" also delete it here.
+.\"
.Dd September 7, 2009
.Dt S3BACKER 1
.Os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3backer.h new/s3backer-1.4.2/s3backer.h
--- old/s3backer-1.4.1/s3backer.h 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/s3backer.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "config.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3backer.spec new/s3backer-1.4.2/s3backer.spec
--- old/s3backer-1.4.1/s3backer.spec 2015-05-04 17:53:11.000000000 +0200
+++ new/s3backer-1.4.2/s3backer.spec 2015-09-01 16:51:09.000000000 +0200
@@ -12,10 +12,24 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+#
+# In addition, as a special exception, the copyright holders give
+# permission to link the code of portions of this program with the
+# OpenSSL library under certain conditions as described in each
+# individual source file, and distribute linked combinations including
+# the two.
+#
+# You must obey the GNU General Public License in all respects for all
+# of the code used other than OpenSSL. If you modify file(s) with this
+# exception, you may extend this exception to your version of the
+# file(s), but you are not obligated to do so. If you do not wish to do
+# so, delete this exception statement from your version. If you delete
+# this exception statement from all source files in the program, then
+# also delete it here.
#
Name: s3backer
-Version: 1.4.1
+Version: 1.4.2
Release: 1
License: GNU General Public License, Version 2
Summary: FUSE-based single file backing store via Amazon S3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/s3backer.spec.in new/s3backer-1.4.2/s3backer.spec.in
--- old/s3backer-1.4.1/s3backer.spec.in 2015-04-17 22:34:04.000000000 +0200
+++ new/s3backer-1.4.2/s3backer.spec.in 2015-09-01 16:45:24.000000000 +0200
@@ -12,6 +12,20 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+#
+# In addition, as a special exception, the copyright holders give
+# permission to link the code of portions of this program with the
+# OpenSSL library under certain conditions as described in each
+# individual source file, and distribute linked combinations including
+# the two.
+#
+# You must obey the GNU General Public License in all respects for all
+# of the code used other than OpenSSL. If you modify file(s) with this
+# exception, you may extend this exception to your version of the
+# file(s), but you are not obligated to do so. If you do not wish to do
+# so, delete this exception statement from your version. If you delete
+# this exception statement from all source files in the program, then
+# also delete it here.
#
Name: s3backer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/test_io.c new/s3backer-1.4.2/test_io.c
--- old/s3backer-1.4.1/test_io.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/test_io.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/test_io.h new/s3backer-1.4.2/test_io.h
--- old/s3backer-1.4.1/test_io.h 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/test_io.h 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
/* test_io.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/s3backer-1.4.1/tester.c new/s3backer-1.4.2/tester.c
--- old/s3backer-1.4.1/tester.c 2015-04-17 21:20:11.000000000 +0200
+++ new/s3backer-1.4.2/tester.c 2015-09-01 16:45:24.000000000 +0200
@@ -18,6 +18,20 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
+ *
+ * In addition, as a special exception, the copyright holders give
+ * permission to link the code of portions of this program with the
+ * OpenSSL library under certain conditions as described in each
+ * individual source file, and distribute linked combinations including
+ * the two.
+ *
+ * You must obey the GNU General Public License in all respects for all
+ * of the code used other than OpenSSL. If you modify file(s) with this
+ * exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do
+ * so, delete this exception statement from your version. If you delete
+ * this exception statement from all source files in the program, then
+ * also delete it here.
*/
#include "s3backer.h"
1
0
Hello community,
here is the log from the commit of package kdeaddons3 for openSUSE:Factory checked in at 2015-09-09 20:21:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdeaddons3 (Old)
and /work/SRC/openSUSE:Factory/.kdeaddons3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdeaddons3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdeaddons3/kdeaddons3.changes 2013-08-10 18:24:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdeaddons3.new/kdeaddons3.changes 2015-09-09 20:21:04.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 8 14:50:13 UTC 2015 - anixx(a)opensuse.org
+
+- fix recognition of C++ files, patch from Trinity
+ kdeaddons-trinity-kate-fix-recognition-of-cpp-files.patch
+
+-------------------------------------------------------------------
New:
----
kdeaddons-trinity-kate-fix-recognition-of-cpp-files.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdeaddons3.spec ++++++
--- /var/tmp/diff_new_pack.ettd9q/_old 2015-09-09 20:21:05.000000000 +0200
+++ /var/tmp/diff_new_pack.ettd9q/_new 2015-09-09 20:21:05.000000000 +0200
@@ -37,7 +37,7 @@
Version: 3.5.10
Release: 0
Url: http://www.kde.org
-Requires: kdelibs3 >= %(rpm -q --queryformat '%{VERSION}' kdelibs3)
+Requires: kdelibs3
Source: kdeaddons-%{version}.tar.bz2
Patch0: 3_5_BRANCH.diff
Patch1: disable-lnk.diff
@@ -46,6 +46,7 @@
Patch4: permanent-searchbar.diff
Patch5: use-db.diff
Patch6: kdeaddons-3.5.10-gcc45.diff
+Patch7: kdeaddons-trinity-kate-fix-recognition-of-cpp-files.patch
%description
This package contains some fun and useful additional modules:
@@ -184,6 +185,7 @@
%patch4
%patch5
%patch6
+%patch7 -p1
%build
. /etc/opt/kde3/common_options
@@ -205,9 +207,6 @@
%suse_update_desktop_file -r ksig Network Email
kde_post_install
-%clean
-rm -rf ${RPM_BUILD_ROOT}
-
%post
%run_ldconfig
++++++ kdeaddons-trinity-kate-fix-recognition-of-cpp-files.patch ++++++
>From 4d976d10e8d99776881152c0911f80890ffba579 Mon Sep 17 00:00:00 2001
From: Michele Calgaro <michele.calgaro(a)yahoo.it>
Date: Fri, 07 Aug 2015 14:38:43 +0000
Subject: Fixed recognition of C++ files in kate/cppsymbolviewer plugin. This resolves bug 2498. Also fixed building warnings.
Signed-off-by: Michele Calgaro <michele.calgaro(a)yahoo.it>
---
diff --git a/kate/cppsymbolviewer/cpp_parser.cpp b/kate/cppsymbolviewer/cpp_parser.cpp
index b666983..9aceda2 100644
--- a/kate/cppsymbolviewer/cpp_parser.cpp
+++ b/kate/cppsymbolviewer/cpp_parser.cpp
@@ -23,9 +23,9 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
QString cl; // Current Line
QString stripped;
uint i, j, tmpPos = 0;
- int par = 0, graph = 0, retry = 0;
+ int par = 0, graph = 0;
char mclass = 0, block = 0, comment = 0; // comment: 0-no comment 1-inline comment 2-multiline comment 3-string
- char macro = 0, macro_pos = 0, func_close = 0;
+ char macro = 0, func_close = 0;
bool structure = false;
QPixmap cls( ( const char** ) class_xpm );
QPixmap sct( ( const char** ) struct_xpm );
@@ -76,7 +76,6 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
/* *********************** MACRO PARSING *****************************/
if(macro == 1)
{
- //macro_pos = cl.find("#");
for (j = 0; j < cl.length(); j++)
{
if(cl.at(j)=='/' && cl.at(j+1)=='/') { macro = 4; break; }
@@ -113,7 +112,6 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
node->setText(1, QString::number( i, 10));
}
macro = 0;
- macro_pos = 0;
stripped = "";
//kdDebug(13000)<<"Macro -- Inserted : "<<stripped<<" at row : "<<i<<endl;
if (cl.at(cl.length() - 1) == '\\') macro = 5; // continue in rows below
@@ -158,7 +156,7 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
}
if (mclass == 3)
{
- if (cl.find('{') >= 0)
+ if (cl.find('{') >= 0)
{
cl = cl.right(cl.find('{'));
mclass = 4;
@@ -216,8 +214,8 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
break;
}
- if(cl.at(j)=='{' && structure == false && cl.find(";") < 0 ||
- cl.at(j)=='{' && structure == false && cl.find('}') > (int)j)
+ if((cl.at(j)=='{' && structure == false && cl.find(";") < 0) ||
+ (cl.at(j)=='{' && structure == false && cl.find('}') > (int)j))
{
stripped.replace(0x9, " ");
if(func_on == true)
@@ -240,7 +238,7 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
node = new QListViewItem(mtdNode, lastMtdNode, stripped);
lastMtdNode = node;
}
- else
+ else
{
node = new QListViewItem(clsNode, lastClsNode, stripped);
lastClsNode = node;
@@ -253,7 +251,6 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
node->setText(1, QString::number( tmpPos, 10));
}
stripped = "";
- retry = 0;
block = 3;
}
if(cl.at(j)=='{' && structure == true)
@@ -263,7 +260,6 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
}
if(cl.at(j)=='(' && structure == true)
{
- retry = 1;
block = 0;
j = 0;
//kdDebug(13000)<<"Restart from the beginning of line..."<<endl;
@@ -319,7 +315,7 @@ void KatePluginSymbolViewerView::parseCppSymbols(void)
} // BLOCK > 0
if (mclass == 4 && block == 0 && func_close == 0)
{
- if (cl.find('}') >= 0)
+ if (cl.find('}') >= 0)
{
cl = cl.right(cl.find('}'));
mclass = 0;
diff --git a/kate/cppsymbolviewer/plugin_katesymbolviewer.cpp b/kate/cppsymbolviewer/plugin_katesymbolviewer.cpp
index 3bc152a..3de7fa2 100644
--- a/kate/cppsymbolviewer/plugin_katesymbolviewer.cpp
+++ b/kate/cppsymbolviewer/plugin_katesymbolviewer.cpp
@@ -219,7 +219,7 @@ void KatePluginSymbolViewerView::parseSymbols(void)
//QListViewItem mcrNode = new QListViewItem(symbols, symbols->lastItem(), hlModeName);
- if (hlModeName == "C++" || hlModeName == "C")
+ if (hlModeName == "C" || hlModeName == "ISO C++" || hlModeName.find("C++")==0)
parseCppSymbols();
else if (hlModeName == "Tcl/Tk")
parseTclSymbols();
--
cgit v0.9.0.2-52-g1de3
1
0
Hello community,
here is the log from the commit of package gnucash for openSUSE:Factory checked in at 2015-09-09 20:21:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnucash (Old)
and /work/SRC/openSUSE:Factory/.gnucash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnucash"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnucash/gnucash.changes 2015-07-14 17:45:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnucash.new/gnucash.changes 2015-09-09 20:21:03.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 7 06:49:59 UTC 2015 - dimstar(a)opensuse.org
+
+- openSUSE Leap 42.1 (suse_version = 1315, is_opensuse = 1) also
+ contains an updated libdbi, thus we need to apply patch
+ gnucash-libdbi-0.9.patch in this case.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnucash.spec ++++++
--- /var/tmp/diff_new_pack.fctDy3/_old 2015-09-09 20:21:04.000000000 +0200
+++ /var/tmp/diff_new_pack.fctDy3/_new 2015-09-09 20:21:04.000000000 +0200
@@ -116,7 +116,7 @@
%setup -q
# This patch must be applied:
%patch0
-%if 0%{?suse_version} > 1315
+%if (0%{?suse_version} == 1315 && %{is_opensuse}) || 0%{suse_version} > 1315
# in openSUSE Factory, we have libdbi 0.9.0+git23, which changed the API a bit
# SLE12 contains libdbi 0.9.0, before this API change.
%patch1 -p1
1
0
Hello community,
here is the log from the commit of package NetworkManager-openswan for openSUSE:Factory checked in at 2015-09-09 20:21:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager-openswan (Old)
and /work/SRC/openSUSE:Factory/.NetworkManager-openswan.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "NetworkManager-openswan"
Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager-openswan/NetworkManager-openswan.changes 2015-03-12 16:39:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager-openswan.new/NetworkManager-openswan.changes 2015-09-09 20:21:01.000000000 +0200
@@ -1,0 +2,14 @@
+Tue Sep 1 10:33:50 UTC 2015 - simon(a)simotek.net
+
+- Update to version 1.0.6:
+ + Libreswan startup robustness improvments.
+ + Build fixes.
+
+-------------------------------------------------------------------
+Wed May 6 07:59:03 UTC 2015 - dimstar(a)opensuse.org
+
+- Update to version 1.0.2:
+ + Out-of-tree build fixes.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
NetworkManager-openswan-1.0.0.tar.xz
New:
----
NetworkManager-openswan-1.0.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-openswan.spec ++++++
--- /var/tmp/diff_new_pack.Gv7HDL/_old 2015-09-09 20:21:01.000000000 +0200
+++ /var/tmp/diff_new_pack.Gv7HDL/_new 2015-09-09 20:21:01.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package NetworkManager-openconnect
+# spec file for package NetworkManager-openswan
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,18 +17,18 @@
Name: NetworkManager-openswan
-Version: 1.0.0
+Version: 1.0.6
Release: 0
-License: GPL-2.0+ and LGPL-2.1
Summary: NetworkManager VPN support for OpenConnect
-Url: http://www.gnome.org/projects/NetworkManager
+License: GPL-2.0+ and LGPL-2.1
Group: Productivity/Networking/System
+Url: http://www.gnome.org/projects/NetworkManager
Source0: http://download.gnome.org/sources/NetworkManager-openswan/1.0/%{name}-%{ver…
BuildRequires: translation-update-upstream
BuildRequires: pkgconfig(NetworkManager)
BuildRequires: pkgconfig(dbus-glib-1) >= 0.74
-BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(glib-2.0) >= 2.32
+BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4
BuildRequires: pkgconfig(libnl-3.0) >= 3.2.8
BuildRequires: pkgconfig(libnm-glib)
++++++ NetworkManager-openswan-1.0.0.tar.xz -> NetworkManager-openswan-1.0.6.tar.xz ++++++
++++ 3363 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/NEWS new/NetworkManager-openswan-1.0.6/NEWS
--- old/NetworkManager-openswan-1.0.0/NEWS 2014-12-18 22:34:58.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/NEWS 2015-08-27 18:31:07.000000000 +0200
@@ -1,4 +1,27 @@
=======================================================
+network-manager-openswan-1.0.6
+Overview of changes since network-manager-openswan-1.0.2
+=======================================================
+
+This is a new stable release of network-manager-openswan. Notable changes include:
+
+* Libreswan startup robustness improvments
+* Build fixes
+
+
+=======================================================
+network-manager-openswan-1.0.2
+Overview of changes since network-manager-openswan-1.0
+=======================================================
+
+This is a new stable release of network-manager-openswan. Notable changes include:
+
+* Added Bosnian translation
+* Updated Greek, German, Basque, Serbian, Hungarian and Indonesian translations
+* Out-of-tree build fixes
+
+
+=======================================================
network-manager-openswan-1.0
Overview of changes since network-manager-openswan-0.9.8
=======================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/auth-dialog/main.c new/NetworkManager-openswan-1.0.6/auth-dialog/main.c
--- old/NetworkManager-openswan-1.0.0/auth-dialog/main.c 2014-12-18 22:34:58.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/auth-dialog/main.c 2015-08-27 09:12:11.000000000 +0200
@@ -38,7 +38,7 @@
#include <nm-vpn-plugin-utils.h>
#include <nm-vpn-password-dialog.h>
-#include "src/nm-openswan-service.h"
+#include <../src/nm-openswan-service.h>
#define KEYRING_UUID_TAG "connection-uuid"
#define KEYRING_SN_TAG "setting-name"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/compile new/NetworkManager-openswan-1.0.6/compile
--- old/NetworkManager-openswan-1.0.0/compile 2014-09-10 13:53:59.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/compile 2015-01-07 13:05:37.000000000 +0100
@@ -3,7 +3,7 @@
scriptversion=2012-10-14.11; # UTC
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey(a)cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/config.h.in new/NetworkManager-openswan-1.0.6/config.h.in
--- old/NetworkManager-openswan-1.0.0/config.h.in 2014-12-18 22:35:49.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/config.h.in 2015-08-27 18:31:35.000000000 +0200
@@ -82,9 +82,6 @@
*/
#undef LT_OBJDIR
-/* Define to 1 if your C compiler doesn't accept -c and -o together. */
-#undef NO_MINUS_C_MINUS_O
-
/* Name of package */
#undef PACKAGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/configure.ac new/NetworkManager-openswan-1.0.6/configure.ac
--- old/NetworkManager-openswan-1.0.0/configure.ac 2014-12-18 22:35:27.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/configure.ac 2015-08-27 18:31:20.000000000 +0200
@@ -1,6 +1,6 @@
AC_PREREQ(2.52)
-AC_INIT(NetworkManager-openswan, 1.0.0, avagarwa(a)redhat.com, NetworkManager-openswan)
+AC_INIT(NetworkManager-openswan, 1.0.6, avagarwa(a)redhat.com, NetworkManager-openswan)
AM_INIT_AUTOMAKE([subdir-objects no-dist-gzip dist-bzip2])
AM_MAINTAINER_MODE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/m4/intltool.m4 new/NetworkManager-openswan-1.0.6/m4/intltool.m4
--- old/NetworkManager-openswan-1.0.0/m4/intltool.m4 2013-08-04 01:09:55.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/m4/intltool.m4 2015-03-09 02:39:54.000000000 +0100
@@ -155,31 +155,6 @@
# Substitute ALL_LINGUAS so we can use it in po/Makefile
AC_SUBST(ALL_LINGUAS)
-# Set DATADIRNAME correctly if it is not set yet
-# (copied from glib-gettext.m4)
-if test -z "$DATADIRNAME"; then
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM([[]],
- [[extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr]])],
- [DATADIRNAME=share],
- [case $host in
- *-*-solaris*)
- dnl On Solaris, if bind_textdomain_codeset is in libc,
- dnl GNU format message catalog is always supported,
- dnl since both are added to the libc all together.
- dnl Hence, we'd like to go with DATADIRNAME=share
- dnl in this case.
- AC_CHECK_FUNC(bind_textdomain_codeset,
- [DATADIRNAME=share], [DATADIRNAME=lib])
- ;;
- *)
- [DATADIRNAME=lib]
- ;;
- esac])
-fi
-AC_SUBST(DATADIRNAME)
-
IT_PO_SUBDIR([po])
])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/missing new/NetworkManager-openswan-1.0.6/missing
--- old/NetworkManager-openswan-1.0.0/missing 2014-09-10 13:53:59.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/missing 2015-01-07 13:05:37.000000000 +0100
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-06-26.16; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Copyright (C) 1996-2014 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'automa4te' program to be rebuilt."
+ echo "the 'autom4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/LINGUAS new/NetworkManager-openswan-1.0.6/po/LINGUAS
--- old/NetworkManager-openswan-1.0.0/po/LINGUAS 2014-04-02 17:29:46.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/LINGUAS 2015-08-27 17:55:14.000000000 +0200
@@ -1,6 +1,7 @@
# please keep this list sorted alphabetically
ar
bg
+bs
ca
cs
da
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/Makefile.in.in new/NetworkManager-openswan-1.0.6/po/Makefile.in.in
--- old/NetworkManager-openswan-1.0.0/po/Makefile.in.in 2013-08-04 01:09:55.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/Makefile.in.in 2015-03-09 02:39:54.000000000 +0100
@@ -33,8 +33,7 @@
datadir = @datadir@
datarootdir = @datarootdir@
libdir = @libdir@
-DATADIRNAME = @DATADIRNAME@
-itlocaledir = $(prefix)/$(DATADIRNAME)/locale
+localedir = @localedir@
subdir = po
install_sh = @install_sh@
# Automake >= 1.8 provides @mkdir_p@.
@@ -80,7 +79,7 @@
.po.pox:
$(MAKE) $(GETTEXT_PACKAGE).pot
- $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
+ $(MSGMERGE) $* $(GETTEXT_PACKAGE).pot -o $*.pox
.po.mo:
$(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $<
@@ -108,7 +107,7 @@
install-data-yes: all
linguas="$(USE_LINGUAS)"; \
for lang in $$linguas; do \
- dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+ dir=$(DESTDIR)$(localedir)/$$lang/LC_MESSAGES; \
$(mkdir_p) $$dir; \
if test -r $$lang.gmo; then \
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
@@ -142,8 +141,8 @@
uninstall:
linguas="$(USE_LINGUAS)"; \
for lang in $$linguas; do \
- rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
- rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
done
check: all $(GETTEXT_PACKAGE).pot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/POTFILES.skip new/NetworkManager-openswan-1.0.6/po/POTFILES.skip
--- old/NetworkManager-openswan-1.0.0/po/POTFILES.skip 2014-11-19 14:28:11.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/po/POTFILES.skip 2015-08-27 16:09:10.000000000 +0200
@@ -1,2 +1,3 @@
auth-dialog/nm-openswan-auth-dialog.desktop.in
-
+# https://bugs.launchpad.net/intltool/+bug/1117944
+sub/auth-dialog/nm-openswan-auth-dialog.desktop.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/bs.po new/NetworkManager-openswan-1.0.6/po/bs.po
--- old/NetworkManager-openswan-1.0.0/po/bs.po 1970-01-01 01:00:00.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/po/bs.po 2015-08-27 16:09:10.000000000 +0200
@@ -0,0 +1,151 @@
+# Bosnian translation for bosnianuniversetranslation
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the bosnianuniversetranslation package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bosnianuniversetranslation\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-02-26 23:32+0000\n"
+"PO-Revision-Date: 2015-02-05 00:27+0000\n"
+"Last-Translator: Dženana <dkapetanov1(a)etf.unsa.ba>\n"
+"Language-Team: Bosnian <bs(a)li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2015-02-05 06:55+0000\n"
+"X-Generator: Launchpad (build 17331)\n"
+
+#: ../auth-dialog/main.c:175
+#, c-format
+msgid "Authenticate VPN %s"
+msgstr "Autentificiraj VPN %s"
+
+#: ../auth-dialog/main.c:192
+msgid "Password:"
+msgstr "Lozinka:"
+
+#: ../auth-dialog/main.c:202
+msgid "Group Password:"
+msgstr "Šifra grupe:"
+
+#: ../auth-dialog/main.c:238
+msgid "Authenticate VPN"
+msgstr "Autentificiraj VPN"
+
+#: ../auth-dialog/main.c:247
+msgid "_Group Password:"
+msgstr "_Šifra grupe:"
+
+#: ../auth-dialog/main.c:496
+#, c-format
+msgid "You need to authenticate to access the Virtual Private Network '%s'."
+msgstr ""
+"Trebate provjeriti atutentičnost za pristup virtuelnoj privatnoj mreži '%s'."
+
+#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:1
+msgid "Network"
+msgstr "Mreža"
+
+#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:2
+msgid "Request VPN authentication"
+msgstr "Zatraži VPN autentifikaciju"
+
+#: ../properties/nm-openswan.c:47
+msgid "IPsec based VPN"
+msgstr "IPsec VPN koji se temelji"
+
+#: ../properties/nm-openswan.c:48
+msgid "IPsec, IKEv1, IKEv2 based VPN"
+msgstr "IPsec, IKEv1, IKEv2 baziran VPN"
+
+#: ../properties/nm-openswan.c:303
+msgid "Saved"
+msgstr "Snimljeno"
+
+#: ../properties/nm-openswan.c:310
+msgid "Always Ask"
+msgstr "Uvijek pitaj"
+
+#: ../properties/nm-openswan.c:317
+msgid "Not Required"
+msgstr "Nije potrebno"
+
+#: ../properties/nm-openswan-dialog.ui.h:1
+msgid " "
+msgstr " "
+
+#: ../properties/nm-openswan-dialog.ui.h:2
+msgid "<b>General</b>"
+msgstr "<b>Opšte</b>"
+
+#: ../properties/nm-openswan-dialog.ui.h:3
+msgid "Show passwords"
+msgstr "Prikaži lozinke"
+
+#: ../properties/nm-openswan-dialog.ui.h:4
+msgid "Gro_up password:"
+msgstr "Lozinka gru_pe:"
+
+#: ../properties/nm-openswan-dialog.ui.h:5
+msgid "_Gateway:"
+msgstr "_Mrežni izlaz:"
+
+#: ../properties/nm-openswan-dialog.ui.h:6
+msgid "G_roup name:"
+msgstr "Ime g_rupe:"
+
+#: ../properties/nm-openswan-dialog.ui.h:7
+msgid "_User password:"
+msgstr "_Korisnička šifra:"
+
+#: ../properties/nm-openswan-dialog.ui.h:8
+msgid "<b>Optional</b>"
+msgstr "<b>Opciono</b>"
+
+#: ../properties/nm-openswan-dialog.ui.h:9
+msgid "User name:"
+msgstr "Korisničko ime:"
+
+#: ../properties/nm-openswan-dialog.ui.h:10
+msgid "Phase1 Algorithms:"
+msgstr "Faza1Algoritmi;:"
+
+#: ../properties/nm-openswan-dialog.ui.h:11
+msgid "Phase2 Algorithms:"
+msgstr "Faza2Algoritmi;:"
+
+#: ../properties/nm-openswan-dialog.ui.h:12
+msgid "Domain:"
+msgstr "Domena:"
+
+#: ../src/nm-openswan-service.c:831
+msgid "A password is required."
+msgstr "Lozinka je potrebna."
+
+#: ../src/nm-openswan-service.c:1197
+msgid ""
+"Could not process the request because the VPN connection settings were "
+"invalid."
+msgstr ""
+"Ne mogu obraditi zahtjev zato što postavke VPN konekcije su bile neispravne."
+
+#: ../src/nm-openswan-service.c:1211
+msgid "Unhandled pending authentication."
+msgstr "Neobrađena autentifikacija na čekanju."
+
+#: ../src/nm-openswan-service.c:1297
+msgid "Don't quit when VPN connection terminates"
+msgstr "Ne izlazi kada se VPN konekcija prekida"
+
+#: ../src/nm-openswan-service.c:1298
+msgid "Enable verbose debug logging (may expose passwords)"
+msgstr "Omogući detaljno praćenje grešaka (može otkriti lozinke)"
+
+#: ../src/nm-openswan-service.c:1321
+msgid ""
+"This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Ova usluga obezbeđuje Upravniku mreže objedinjenu IPsec VPN mogućnost."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/de.po new/NetworkManager-openswan-1.0.6/po/de.po
--- old/NetworkManager-openswan-1.0.0/po/de.po 2013-09-11 20:27:35.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/de.po 2015-08-27 17:55:14.000000000 +0200
@@ -8,79 +8,72 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: NetworkManager HEAD\n"
+"Project-Id-Version: NetworkManager OpenSWAN\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2013-04-29 17:26+0000\n"
-"PO-Revision-Date: 2013-06-02 15:47+0200\n"
+"POT-Creation-Date: 2015-01-27 11:19+0000\n"
+"PO-Revision-Date: 2015-01-29 22:11+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach(a)gmail.com>\n"
"Language-Team: de <gnome-de(a)gnome.org>\n"
-"Language: \n"
+"Language: de\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Gtranslator 2.91.5\n"
+"X-Generator: Poedit 1.5.4\n"
-#: ../auth-dialog/vpn-password-dialog.c:94
-msgid "_Secondary Password:"
-msgstr "_Zweitpasswort:"
-
-#: ../auth-dialog/vpn-password-dialog.c:150
-msgid "_Password:"
-msgstr "_Passwort:"
-
-#: ../auth-dialog/vpn-password-dialog.c:236
-msgid "Sh_ow passwords"
-msgstr "Passwörter an_zeigen"
-
-#: ../auth-dialog/main.c:178
+#: ../auth-dialog/main.c:175
#, c-format
-msgid "You need to authenticate to access the Virtual Private Network '%s'."
-msgstr ""
-"Sie müssen sich legitimieren, um auf das Virtuelle private Netzwerk »%s« "
-"zugreifen zu können."
-
-#: ../auth-dialog/main.c:187 ../auth-dialog/main.c:211
-msgid "Authenticate VPN"
-msgstr "VPN legitimieren"
+msgid "Authenticate VPN %s"
+msgstr "VPN %s legitimieren"
-#: ../auth-dialog/main.c:190
+#: ../auth-dialog/main.c:192
msgid "Password:"
msgstr "Passwort:"
-#: ../auth-dialog/main.c:192
+#: ../auth-dialog/main.c:202
msgid "Group Password:"
msgstr "Gruppenpasswort:"
-#: ../auth-dialog/main.c:213
+#: ../auth-dialog/main.c:238
+msgid "Authenticate VPN"
+msgstr "VPN legitimieren"
+
+#: ../auth-dialog/main.c:247
msgid "_Group Password:"
msgstr "_Gruppenpasswort:"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "Auf IPsec basierender VPN-Verbindungsmanager (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "VPN-Verbindungen hinzufügen, entfernen und bearbeiten"
+#: ../auth-dialog/main.c:496
+#, c-format
+msgid "You need to authenticate to access the Virtual Private Network '%s'."
+msgstr ""
+"Sie müssen sich legitimieren, um auf das Virtuelle private Netzwerk »%s« "
+"zugreifen zu können."
+
+#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:1
+msgid "Network"
+msgstr "Netzwerk"
+
+#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:2
+msgid "Request VPN authentication"
+msgstr "Legitimierung für VPN anfordern"
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
-msgstr "IPsec-basierendes VPN"
+msgstr "IPsec-basiertes VPN"
#: ../properties/nm-openswan.c:48
msgid "IPsec, IKEv1, IKEv2 based VPN"
-msgstr "IPsec, IKEv1, IKEv2-basierendes VPN"
+msgstr "IPsec, IKEv1, IKEv2-basiertes VPN"
-#: ../properties/nm-openswan.c:274
+#: ../properties/nm-openswan.c:303
msgid "Saved"
msgstr "Gespeichert"
-#: ../properties/nm-openswan.c:281
+#: ../properties/nm-openswan.c:310
msgid "Always Ask"
msgstr "Immer fragen"
-#: ../properties/nm-openswan.c:288
+#: ../properties/nm-openswan.c:317
msgid "Not Required"
msgstr "Nicht notwendig"
@@ -132,20 +125,49 @@
msgid "Domain:"
msgstr "Domäne:"
-#: ../src/nm-openswan-service.c:877
+#: ../src/nm-openswan-service.c:831
+msgid "A password is required."
+msgstr "Ein Passwort ist notwendig."
+
+#: ../src/nm-openswan-service.c:1197
+msgid ""
+"Could not process the request because the VPN connection settings were "
+"invalid."
+msgstr ""
+"Die Anfrage konnte nicht verarbeitet werden, weil die VPN-"
+"Konfigurationseinstellungen ungültig waren."
+
+#: ../src/nm-openswan-service.c:1211
+msgid "Unhandled pending authentication."
+msgstr "Nicht verarbeitete, ausstehende Legitimierung."
+
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Nicht bei Abbruch der VPN-Verbindung beenden"
-#: ../src/nm-openswan-service.c:878
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr "Ausführliches Diagnoseprotokoll aktivieren (kann Passwörter enthalten)"
-#: ../src/nm-openswan-service.c:901
+#: ../src/nm-openswan-service.c:1321
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
-msgstr ""
-"nm-openswan-service bietet zugleich IPsec VPN-Fähigkeit für NetworkManager."
+"This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Dieser Dienst bietet ein integriertes IPsec-VPN für NetworkManager."
+
+#~ msgid "_Secondary Password:"
+#~ msgstr "_Zweitpasswort:"
+
+#~ msgid "_Password:"
+#~ msgstr "_Passwort:"
+
+#~ msgid "Sh_ow passwords"
+#~ msgstr "Passwörter an_zeigen"
+
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "Auf IPsec basierender VPN-Verbindungsmanager (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "VPN-Verbindungen hinzufügen, entfernen und bearbeiten"
#~ msgid "_Remember passwords for this session"
#~ msgstr "Passwo_rt für diese Sitzung behalten"
@@ -307,9 +329,6 @@
#~ "Beachten Sie bitte, dass die Datei, die Sie importieren, keine Cisco VPN "
#~ "oder VPNC-Konfigurationsdatei ist. Wenden Sie sich an Ihren Administrator."
-#~ msgid "Use _domain for authentication"
-#~ msgstr "_Domäne zur Authentifikation verwenden"
-
#~ msgid "_Import Saved Configuration..."
#~ msgstr "Gespeicherte Konfiguration importieren …"
@@ -335,12 +354,6 @@
#~ "VPN-Server verbinden konnte."
#~ msgid ""
-#~ "The VPN login failed because the VPN configuration options were invalid."
-#~ msgstr ""
-#~ "Die VPN-Anmeldung scheiterte, weil die VPN-Konfigurationsoptionen "
-#~ "ungültig waren."
-
-#~ msgid ""
#~ "The VPN login failed because the VPN program received an invalid "
#~ "configuration from the VPN server."
#~ msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/el.po new/NetworkManager-openswan-1.0.6/po/el.po
--- old/NetworkManager-openswan-1.0.0/po/el.po 2014-09-04 17:06:45.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/el.po 2015-08-27 16:09:10.000000000 +0200
@@ -9,41 +9,44 @@
"Project-Id-Version: NetworkManager-vpnc.HEAD\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-05 18:28+0000\n"
-"PO-Revision-Date: 2014-04-24 15:57+0200\n"
+"POT-Creation-Date: 2014-12-13 11:12+0000\n"
+"PO-Revision-Date: 2015-02-25 15:19+0200\n"
"Last-Translator: Tom Tryfonidis <tomtryf(a)gmail.com>\n"
"Language-Team: Greek <team(a)gnome.gr>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.4\n"
+"X-Generator: Poedit 1.7.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../auth-dialog/main.c:188
+#: ../auth-dialog/main.c:175
#, c-format
-msgid "You need to authenticate to access the Virtual Private Network '%s'."
-msgstr ""
-"Χρειάζεστε πιστοποίηση για να αποκτήσετε πρόσβαση στο Ιδιωτικό Εικονικό "
-"Δίκτυο (VPN) '%s'."
-
-#: ../auth-dialog/main.c:197 ../auth-dialog/main.c:221
-msgid "Authenticate VPN"
-msgstr "Πιστοποίηση VPN"
+msgid "Authenticate VPN %s"
+msgstr "Πιστοποίηση VPN %s"
-#: ../auth-dialog/main.c:200
-#| msgid "_Password:"
+#: ../auth-dialog/main.c:192
msgid "Password:"
-msgstr "Συνθηματικό:"
+msgstr "Κωδικός πρόσβασης:"
#: ../auth-dialog/main.c:202
-#| msgid "_Group Password:"
msgid "Group Password:"
-msgstr "Συνθηματικό ομάδας:"
+msgstr "Κωδικός πρόσβασης ομάδας:"
-#: ../auth-dialog/main.c:223
+#: ../auth-dialog/main.c:238
+msgid "Authenticate VPN"
+msgstr "Πιστοποίηση VPN"
+
+#: ../auth-dialog/main.c:247
msgid "_Group Password:"
-msgstr "Συνθηματικό ο_μάδας:"
+msgstr "Κωδικός πρόσβασης ο_μάδας:"
+
+#: ../auth-dialog/main.c:496
+#, c-format
+msgid "You need to authenticate to access the Virtual Private Network '%s'."
+msgstr ""
+"Χρειάζεστε πιστοποίηση για να αποκτήσετε πρόσβαση στο Ιδιωτικό Εικονικό "
+"Δίκτυο (VPN) '%s'."
#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:1
msgid "Network"
@@ -53,15 +56,6 @@
msgid "Request VPN authentication"
msgstr "Απαιτεί VPN πιστοποίηση"
-#: ../nm-openswan.desktop.in.h:1
-#| msgid "VPN Connection Manager (vpnc)"
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "Διαχειριστής σύνδεσης IPsec βασισμένο στο VPN (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "Προσθήκη, απομάκρυνση και επεξεργασία συνδέσεων VPN"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "IPsec βασισμένο στο VPN"
@@ -70,15 +64,15 @@
msgid "IPsec, IKEv1, IKEv2 based VPN"
msgstr "IPsec, IKEv1, IKEv2 βασισμένο στο VPN"
-#: ../properties/nm-openswan.c:304
+#: ../properties/nm-openswan.c:303
msgid "Saved"
msgstr "Αποθηκευμένη"
-#: ../properties/nm-openswan.c:311
+#: ../properties/nm-openswan.c:310
msgid "Always Ask"
msgstr "Να γίνεται πάντα ερώτηση"
-#: ../properties/nm-openswan.c:318
+#: ../properties/nm-openswan.c:317
msgid "Not Required"
msgstr "Δεν απαιτείται"
@@ -92,11 +86,11 @@
#: ../properties/nm-openswan-dialog.ui.h:3
msgid "Show passwords"
-msgstr "Εμφάνιση συνθηματικών"
+msgstr "Εμφάνιση κωδικών πρόσβασης"
#: ../properties/nm-openswan-dialog.ui.h:4
msgid "Gro_up password:"
-msgstr "Συνθηματικό ο_μάδας:"
+msgstr "Κωδικός πρόσβασης ο_μάδας:"
#: ../properties/nm-openswan-dialog.ui.h:5
msgid "_Gateway:"
@@ -108,7 +102,7 @@
#: ../properties/nm-openswan-dialog.ui.h:7
msgid "_User password:"
-msgstr "_Συνθηματικό χρήστη:"
+msgstr "Κωδικός πρόσβασης χ_ρήστη:"
#: ../properties/nm-openswan-dialog.ui.h:8
msgid "<b>Optional</b>"
@@ -130,23 +124,43 @@
msgid "Domain:"
msgstr "Τομέας:"
-#: ../src/nm-openswan-service.c:846
+#: ../src/nm-openswan-service.c:831
+msgid "A password is required."
+msgstr "Απαιτείται κωδικός πρόσβασης"
+
+#: ../src/nm-openswan-service.c:1197
+msgid ""
+"Could not process the request because the VPN connection settings were "
+"invalid."
+msgstr ""
+"Αδύνατη η επεξεργασία του αιτήματος διότι οι ρυθμίσεις της σύνδεσης VPN ήταν "
+"άκυρες."
+
+#: ../src/nm-openswan-service.c:1211
+msgid "Unhandled pending authentication."
+msgstr "Ανεπίλυτη αναμονή πιστοποίησης."
+
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
-msgstr "Μην βγεις όταν τερματιστούν οι VPN συνδέσεις"
+msgstr "Να μην γίνει έξοδος όταν η σύνδεση VPN τερματίζει"
-#: ../src/nm-openswan-service.c:847
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr ""
-"Ενεργοποίηση καταγραφής εντοπισμού σφαλμάτων (μπορεί να εκθέσει τα "
-"συνθηματικά)"
+"Ενεργοποίηση καταγραφής εντοπισμού σφαλμάτων (μπορεί να εκθέσει τους "
+"κωδικούς πρόσβασης)"
-#: ../src/nm-openswan-service.c:870
+#: ../src/nm-openswan-service.c:1321
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
-msgstr ""
-"Το nm-openswan-service παρέχει ενσωματωμένες δυνατότητες IPsec VPN στον "
-"NetworkManager."
+"This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Αυτή η υπηρεσία παρέχει δυνατότητες IPsec VPN στον NetworkManager."
+
+#~| msgid "VPN Connection Manager (vpnc)"
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "Διαχειριστής σύνδεσης IPsec βασισμένο στο VPN (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "Προσθήκη, απομάκρυνση και επεξεργασία συνδέσεων VPN"
#~ msgid "_Secondary Password:"
#~ msgstr "_Δευτερεύον συνθηματικό:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/eu.po new/NetworkManager-openswan-1.0.6/po/eu.po
--- old/NetworkManager-openswan-1.0.0/po/eu.po 2014-09-04 17:06:45.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/eu.po 2015-08-27 17:55:14.000000000 +0200
@@ -1,14 +1,17 @@
-# Basque translation of network-manager-openswan.
+# Basque translation for network-manager-openswan.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
-# Iñaki Larrañaga Murgoitio <dooteo(a)zundan.com>, 2008, 2009, 2014.
+# Iñaki Larrañaga Murgoitio <dooteo(a)zundan.com>, 2008, 2009, 2014, 2015.
+# Edurne Labaka <elabaka(a)uzei.com>, 2015.
+#
msgid ""
msgstr ""
-"Project-Id-Version: network-manager-openswan master\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-05-04 12:35+0200\n"
-"PO-Revision-Date: 2014-05-04 12:38+0200\n"
+"Project-Id-Version: network-manager-openswan nm-1-0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2015-02-07 17:55+0100\n"
+"PO-Revision-Date: 2015-02-07 17:55+0100\n"
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo(a)zundan.com>\n"
"Language-Team: Basque <librezale(a)librezale.org>\n"
"Language: eu\n"
@@ -18,16 +21,12 @@
"X-Generator: Lokalize 1.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../auth-dialog/main.c:188
+#: ../auth-dialog/main.c:175
#, c-format
-msgid "You need to authenticate to access the Virtual Private Network '%s'."
-msgstr "Autentifikatu egin behar zara '%s' VPN-ra sarbidetzeko."
-
-#: ../auth-dialog/main.c:197 ../auth-dialog/main.c:221
-msgid "Authenticate VPN"
-msgstr "Autentifikatu VPN"
+msgid "Authenticate VPN %s"
+msgstr "Autentifikatu %s VPN"
-#: ../auth-dialog/main.c:200
+#: ../auth-dialog/main.c:192
msgid "Password:"
msgstr "Pasahitza:"
@@ -35,10 +34,19 @@
msgid "Group Password:"
msgstr "Taldearen pasahitza:"
-#: ../auth-dialog/main.c:223
+#: ../auth-dialog/main.c:238
+msgid "Authenticate VPN"
+msgstr "Autentifikatu VPN"
+
+#: ../auth-dialog/main.c:247
msgid "_Group Password:"
msgstr "_Taldearen pasahitza:"
+#: ../auth-dialog/main.c:496
+#, c-format
+msgid "You need to authenticate to access the Virtual Private Network '%s'."
+msgstr "Autentifikatu egin behar zara '%s' VPN-ra sarbidetzeko."
+
#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:1
msgid "Network"
msgstr "Sarea"
@@ -47,14 +55,6 @@
msgid "Request VPN authentication"
msgstr "Eskatu VPNren autentifikazioa"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "IPsec-en oinarritutako VPN konexioen kudeatzailea (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "Gehitu, kendu eta editatu VPN konexioak"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "IPsec-en oinarritutako VPN-a"
@@ -63,15 +63,15 @@
msgid "IPsec, IKEv1, IKEv2 based VPN"
msgstr "IPsec, IKEv1, IKEv2 oinarritutako VPN-a"
-#: ../properties/nm-openswan.c:304
+#: ../properties/nm-openswan.c:303
msgid "Saved"
msgstr "Gordeta"
-#: ../properties/nm-openswan.c:311
+#: ../properties/nm-openswan.c:310
msgid "Always Ask"
msgstr "Galdetu beti"
-#: ../properties/nm-openswan.c:318
+#: ../properties/nm-openswan.c:317
msgid "Not Required"
msgstr "Ez da beharrezkoa"
@@ -123,28 +123,52 @@
msgid "Domain:"
msgstr "Domeinua:"
-#: ../src/nm-openswan-service.c:846
+#: ../src/nm-openswan-service.c:831
+msgid "A password is required."
+msgstr "Pasahitza behar da."
+
+#: ../src/nm-openswan-service.c:1197
+msgid ""
+"Could not process the request because the VPN connection settings were "
+"invalid."
+msgstr ""
+"Ezin izan da eskaera prozesatu VPN konexioaren ezarpenak baliogabekoak "
+"direlako."
+
+#: ../src/nm-openswan-service.c:1211
+msgid "Unhandled pending authentication."
+msgstr "Autentifikatzea falta dena kudeatu gabe."
+
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Ez irten VPNaren konexioa amaitzean"
-#: ../src/nm-openswan-service.c:847
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr "Gaitu arazketaren erregistro xehea (pasahitzak erakuts ditzake)"
-#: ../src/nm-openswan-service.c:870
+#: ../src/nm-openswan-service.c:1321
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
+"This service provides integrated IPsec VPN capability to NetworkManager."
msgstr ""
-"'nm-openswan-service' zerbitzuak VPN IPsec gaitasuna "
-"erabiltzea baimentzen dio NetworkManager-i."
+"Zerbitzu honek VPN IPsec gaitasuna erabiltzea baimentzen "
+"dio NetworkManager-i."
#~ msgid "_Secondary Password:"
#~ msgstr "_Bigarren pasahitza:"
+#~ msgid "_Password:"
+#~ msgstr "_Pasahitza:"
+
#~ msgid "Sh_ow passwords"
#~ msgstr "_Erakutsi pasahitzak"
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "IPsec-en oinarritutako VPN konexioen kudeatzailea (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "Gehitu, kendu eta editatu VPN konexioak"
+
#~ msgid "_Remember passwords for this session"
#~ msgstr "_Gogoratu pasahitza saio honetan"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/hu.po new/NetworkManager-openswan-1.0.6/po/hu.po
--- old/NetworkManager-openswan-1.0.0/po/hu.po 2014-12-18 22:34:58.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/po/hu.po 2015-08-27 17:55:14.000000000 +0200
@@ -9,8 +9,8 @@
"Project-Id-Version: network-manager-openswan master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-12-07 11:13+0000\n"
-"PO-Revision-Date: 2014-12-07 16:23+0100\n"
+"POT-Creation-Date: 2014-12-13 08:29+0000\n"
+"PO-Revision-Date: 2014-12-20 00:02+0100\n"
"Last-Translator: Balázs Úr <urbalazs(a)gmail.com>\n"
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
"Language: hu\n"
@@ -22,7 +22,6 @@
#: ../auth-dialog/main.c:175
#, c-format
-#| msgid "Authenticate VPN"
msgid "Authenticate VPN %s"
msgstr "VPN-hitelesítés: %s"
@@ -55,14 +54,6 @@
msgid "Request VPN authentication"
msgstr "VPN-azonosítás kérése"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "IPsec alapú VPN kapcsolatkezelő (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "VPN kapcsolatok hozzáadása, szerkesztése és eltávolítása"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "IPsec alapú VPN"
@@ -131,11 +122,11 @@
msgid "Domain:"
msgstr "Tartomány:"
-#: ../src/nm-openswan-service.c:764
+#: ../src/nm-openswan-service.c:831
msgid "A password is required."
msgstr "Jelszó szükséges."
-#: ../src/nm-openswan-service.c:1077
+#: ../src/nm-openswan-service.c:1197
msgid ""
"Could not process the request because the VPN connection settings were "
"invalid."
@@ -143,27 +134,34 @@
"A kérés feldolgozása sikertelen, mivel a VPN-kapcsolat beállításai "
"érvénytelenek."
-#: ../src/nm-openswan-service.c:1091
+#: ../src/nm-openswan-service.c:1211
msgid "Unhandled pending authentication."
msgstr "Kezeletlen várakozó hitelesítés."
-#: ../src/nm-openswan-service.c:1177
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Ne lépjen ki, ha a VPN-kapcsolat megszakad"
-#: ../src/nm-openswan-service.c:1178
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr ""
"Részletes hibakeresési naplózás engedélyezése (jelszavak is a naplóba "
"kerülhetnek)"
-#: ../src/nm-openswan-service.c:1201
+#: ../src/nm-openswan-service.c:1321
+#| msgid ""
+#| "nm-openswan-service provides integrated IPsec VPN capability to "
+#| "NetworkManager."
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
+"This service provides integrated IPsec VPN capability to NetworkManager."
msgstr ""
-"Az nm-openswan-service integrált IPsec VPN képességet biztosít a "
-"Hálózatkezelőnek."
+"Ez a szolgáltatás integrált IPsec VPN képességet biztosít a Hálózatkezelőnek."
+
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "IPsec alapú VPN kapcsolatkezelő (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "VPN kapcsolatok hozzáadása, szerkesztése és eltávolítása"
#~ msgid "_Secondary Password:"
#~ msgstr "Jelszó _még egyszer:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/id.po new/NetworkManager-openswan-1.0.6/po/id.po
--- old/NetworkManager-openswan-1.0.0/po/id.po 2014-09-04 17:06:45.000000000 +0200
+++ new/NetworkManager-openswan-1.0.6/po/id.po 2015-08-27 17:55:14.000000000 +0200
@@ -5,30 +5,25 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: network-manager-openswan master\n"
-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
-"product=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-03-05 18:28+0000\n"
-"PO-Revision-Date: 2014-03-30 10:33+0700\n"
+"Project-Id-Version: network-manager-openswan nm-1-0\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=network-manager-"
+"openswan&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2014-12-13 08:29+0000\n"
+"PO-Revision-Date: 2014-12-19 18:24+0700\n"
"Last-Translator: Andika Triwidada <andika(a)gmail.com>\n"
"Language-Team: Indonesian <gnome(a)i15n.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.5.7\n"
+"X-Generator: Poedit 1.7.1\n"
-#: ../auth-dialog/main.c:188
+#: ../auth-dialog/main.c:175
#, c-format
-msgid "You need to authenticate to access the Virtual Private Network '%s'."
-msgstr ""
-"Anda perlu mengotentikasi untuk mengakses Virtual Private Network '%s'."
-
-#: ../auth-dialog/main.c:197 ../auth-dialog/main.c:221
-msgid "Authenticate VPN"
-msgstr "Otentikasikan VPN"
+msgid "Authenticate VPN %s"
+msgstr "Otentikasikan VPN %s"
-#: ../auth-dialog/main.c:200
+#: ../auth-dialog/main.c:192
msgid "Password:"
msgstr "Sandi:"
@@ -36,10 +31,19 @@
msgid "Group Password:"
msgstr "Sandi Grup:"
-#: ../auth-dialog/main.c:223
+#: ../auth-dialog/main.c:238
+msgid "Authenticate VPN"
+msgstr "Otentikasikan VPN"
+
+#: ../auth-dialog/main.c:247
msgid "_Group Password:"
msgstr "Sandi _Grup:"
+#: ../auth-dialog/main.c:496
+#, c-format
+msgid "You need to authenticate to access the Virtual Private Network '%s'."
+msgstr "Anda perlu mengotentikasi untuk mengakses Virtual Private Network '%s'."
+
#: ../auth-dialog/nm-openswan-auth-dialog.desktop.in.in.h:1
msgid "Network"
msgstr "Jaringan"
@@ -48,14 +52,6 @@
msgid "Request VPN authentication"
msgstr "Minta otentikasi VPN"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "Manajer Koneksi VPN Berbasis IPsec (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "Tambah, Hapus, dan Sunting Koneksi VPN"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "VPN berbasis IPsec"
@@ -64,15 +60,15 @@
msgid "IPsec, IKEv1, IKEv2 based VPN"
msgstr "VPN berbasis IPsec, IKEv1, IKEv2"
-#: ../properties/nm-openswan.c:304
+#: ../properties/nm-openswan.c:303
msgid "Saved"
msgstr "Disimpan"
-#: ../properties/nm-openswan.c:311
+#: ../properties/nm-openswan.c:310
msgid "Always Ask"
msgstr "Selalu Tanyakan"
-#: ../properties/nm-openswan.c:318
+#: ../properties/nm-openswan.c:317
msgid "Not Required"
msgstr "Tak Diperlukan"
@@ -124,18 +120,26 @@
msgid "Domain:"
msgstr "Domain:"
-#: ../src/nm-openswan-service.c:846
+#: ../src/nm-openswan-service.c:831
+msgid "A password is required."
+msgstr "Diperlukan sebuah kata sandi."
+
+#: ../src/nm-openswan-service.c:1197
+msgid "Could not process the request because the VPN connection settings were invalid."
+msgstr "Tak dapat memroses permintaan karena pengaturan koneksi VPN tak valid."
+
+#: ../src/nm-openswan-service.c:1211
+msgid "Unhandled pending authentication."
+msgstr "Otentikasi tertunda yang tak tertangani."
+
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Jangan keluar ketika koneksi VPN berakhir"
-#: ../src/nm-openswan-service.c:847
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr "Fungsikan log awakutu cerewet (mungkin mengungkap sandi)"
-#: ../src/nm-openswan-service.c:870
-msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
-msgstr ""
-"nm-openswan-service menyediakan kapabilitas VPN IPsec terintegrasi ke "
-"NetworkManager."
+#: ../src/nm-openswan-service.c:1321
+msgid "This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Layanan ini menyediakan kapabilitas VPN IPsec terintegrasi ke NetworkManager."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/sr.po new/NetworkManager-openswan-1.0.6/po/sr.po
--- old/NetworkManager-openswan-1.0.0/po/sr.po 2014-11-19 14:28:11.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/po/sr.po 2015-08-27 17:55:14.000000000 +0200
@@ -8,8 +8,8 @@
"Project-Id-Version: network-manager-openswan master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product"
"=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-10-28 11:06+0000\n"
-"PO-Revision-Date: 2014-10-28 21:48+0200\n"
+"POT-Creation-Date: 2014-12-13 08:29+0000\n"
+"PO-Revision-Date: 2014-12-25 13:56+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic(a)rocketmail.com>\n"
"Language-Team: Serbian <gnom(a)prevod.org>\n"
"Language: sr\n"
@@ -22,7 +22,6 @@
#: ../auth-dialog/main.c:175
#, c-format
-#| msgid "Authenticate VPN"
msgid "Authenticate VPN %s"
msgstr "Потврди ВПН %s"
@@ -57,14 +56,6 @@
msgid "Request VPN authentication"
msgstr "Захтевај ВПН потврђивање идентитета"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "Управник ВПН везе заснован на ИПсец-у (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "Додајте, уклањајте и уређујте ВПН везе"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "ВПН заснован на ИПсец-у"
@@ -133,35 +124,42 @@
msgid "Domain:"
msgstr "Домен:"
-#: ../src/nm-openswan-service.c:764
+#: ../src/nm-openswan-service.c:831
msgid "A password is required."
msgstr "Потребна је лозинка."
-#: ../src/nm-openswan-service.c:1077
+#: ../src/nm-openswan-service.c:1197
msgid ""
"Could not process the request because the VPN connection settings were "
"invalid."
msgstr "Не могу да обрадим захтев зато што су подешавања ВПН везе неисправна."
-#: ../src/nm-openswan-service.c:1091
+#: ../src/nm-openswan-service.c:1211
msgid "Unhandled pending authentication."
msgstr "Заказано потврђивање идентитета није исправно."
-#: ../src/nm-openswan-service.c:1177
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Не прекида када се завршава ВПН веза"
-#: ../src/nm-openswan-service.c:1178
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr ""
"Укључује опширно записивање зарад исправљања грешака (може да изложи лозинке)"
-#: ../src/nm-openswan-service.c:1201
+#: ../src/nm-openswan-service.c:1321
+#| msgid ""
+#| "nm-openswan-service provides integrated IPsec VPN capability to "
+#| "NetworkManager."
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
-msgstr ""
-"нм-опенсван-услуга обезбеђује Управнику мреже обједињену ИПсец ВПН могућност."
+"This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Ова услуга обезбеђује Управнику мреже обједињену ИПсец ВПН могућност."
+
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "Управник ВПН везе заснован на ИПсец-у (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "Додајте, уклањајте и уређујте ВПН везе"
#~ msgid "_Secondary Password:"
#~ msgstr "_Секундарна лозинка:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/po/sr(a)latin.po new/NetworkManager-openswan-1.0.6/po/sr(a)latin.po
--- old/NetworkManager-openswan-1.0.0/po/sr(a)latin.po 2014-11-19 14:28:11.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/po/sr(a)latin.po 2015-08-27 17:55:14.000000000 +0200
@@ -8,8 +8,8 @@
"Project-Id-Version: network-manager-openswan master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product"
"=network-manager-openswan&keywords=I18N+L10N&component=general\n"
-"POT-Creation-Date: 2014-10-28 11:06+0000\n"
-"PO-Revision-Date: 2014-10-28 21:48+0200\n"
+"POT-Creation-Date: 2014-12-13 08:29+0000\n"
+"PO-Revision-Date: 2014-12-25 13:56+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic(a)rocketmail.com>\n"
"Language-Team: Serbian <gnom(a)prevod.org>\n"
"Language: sr\n"
@@ -22,7 +22,6 @@
#: ../auth-dialog/main.c:175
#, c-format
-#| msgid "Authenticate VPN"
msgid "Authenticate VPN %s"
msgstr "Potvrdi VPN %s"
@@ -57,14 +56,6 @@
msgid "Request VPN authentication"
msgstr "Zahtevaj VPN potvrđivanje identiteta"
-#: ../nm-openswan.desktop.in.h:1
-msgid "IPsec Based VPN Connection Manager (openswan)"
-msgstr "Upravnik VPN veze zasnovan na IPsec-u (openswan)"
-
-#: ../nm-openswan.desktop.in.h:2
-msgid "Add, Remove, and Edit VPN Connections"
-msgstr "Dodajte, uklanjajte i uređujte VPN veze"
-
#: ../properties/nm-openswan.c:47
msgid "IPsec based VPN"
msgstr "VPN zasnovan na IPsec-u"
@@ -133,35 +124,42 @@
msgid "Domain:"
msgstr "Domen:"
-#: ../src/nm-openswan-service.c:764
+#: ../src/nm-openswan-service.c:831
msgid "A password is required."
msgstr "Potrebna je lozinka."
-#: ../src/nm-openswan-service.c:1077
+#: ../src/nm-openswan-service.c:1197
msgid ""
"Could not process the request because the VPN connection settings were "
"invalid."
msgstr "Ne mogu da obradim zahtev zato što su podešavanja VPN veze neispravna."
-#: ../src/nm-openswan-service.c:1091
+#: ../src/nm-openswan-service.c:1211
msgid "Unhandled pending authentication."
msgstr "Zakazano potvrđivanje identiteta nije ispravno."
-#: ../src/nm-openswan-service.c:1177
+#: ../src/nm-openswan-service.c:1297
msgid "Don't quit when VPN connection terminates"
msgstr "Ne prekida kada se završava VPN veza"
-#: ../src/nm-openswan-service.c:1178
+#: ../src/nm-openswan-service.c:1298
msgid "Enable verbose debug logging (may expose passwords)"
msgstr ""
"Uključuje opširno zapisivanje zarad ispravljanja grešaka (može da izloži lozinke)"
-#: ../src/nm-openswan-service.c:1201
+#: ../src/nm-openswan-service.c:1321
+#| msgid ""
+#| "nm-openswan-service provides integrated IPsec VPN capability to "
+#| "NetworkManager."
msgid ""
-"nm-openswan-service provides integrated IPsec VPN capability to "
-"NetworkManager."
-msgstr ""
-"nm-opensvan-usluga obezbeđuje Upravniku mreže objedinjenu IPsec VPN mogućnost."
+"This service provides integrated IPsec VPN capability to NetworkManager."
+msgstr "Ova usluga obezbeđuje Upravniku mreže objedinjenu IPsec VPN mogućnost."
+
+#~ msgid "IPsec Based VPN Connection Manager (openswan)"
+#~ msgstr "Upravnik VPN veze zasnovan na IPsec-u (openswan)"
+
+#~ msgid "Add, Remove, and Edit VPN Connections"
+#~ msgstr "Dodajte, uklanjajte i uređujte VPN veze"
#~ msgid "_Secondary Password:"
#~ msgstr "_Sekundarna lozinka:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/src/nm-openswan-service-helper.c new/NetworkManager-openswan-1.0.6/src/nm-openswan-service-helper.c
--- old/NetworkManager-openswan-1.0.0/src/nm-openswan-service-helper.c 2014-12-18 22:34:58.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/src/nm-openswan-service-helper.c 2015-08-27 17:55:14.000000000 +0200
@@ -34,6 +34,8 @@
#include <netlink/netlink.h>
#include <netlink/msg.h>
+
+#define _LINUX_IN6_H 1
#include <linux/xfrm.h>
#include <dbus/dbus.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/src/nm-openswan-service.c new/NetworkManager-openswan-1.0.6/src/nm-openswan-service.c
--- old/NetworkManager-openswan-1.0.0/src/nm-openswan-service.c 2014-12-18 22:34:58.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/src/nm-openswan-service.c 2015-08-27 17:55:14.000000000 +0200
@@ -88,6 +88,8 @@
GPid pid;
guint watch_id;
+ guint retry_id;
+ guint retries;
ConnectStep connect_step;
NMConnection *connection;
@@ -367,6 +369,11 @@
priv->pid = 0;
}
+ if (priv->watch_id) {
+ g_source_remove (priv->watch_id);
+ priv->watch_id = 0;
+ }
+
if (priv->io_id) {
g_source_remove (priv->io_id);
priv->io_id = 0;
@@ -441,6 +448,23 @@
if (do_stop)
ipsec_stop (self, NULL);
nm_vpn_plugin_failure (NM_VPN_PLUGIN (self), reason);
+ nm_vpn_plugin_set_state (NM_VPN_PLUGIN (self), NM_VPN_SERVICE_STATE_STOPPED);
+}
+
+static gboolean
+retry_cb (gpointer user_data)
+{
+ NMOpenSwanPlugin *self = NM_OPENSWAN_PLUGIN (user_data);
+ NMOpenSwanPluginPrivate *priv = NM_OPENSWAN_PLUGIN_GET_PRIVATE (self);
+ GError *error = NULL;
+
+ priv->retry_id = 0;
+
+ if (!connect_step (self, &error))
+ connect_failed (self, TRUE, error, NM_VPN_PLUGIN_FAILURE_CONNECT_FAILED);
+ g_clear_error (&error);
+
+ return FALSE;
}
static void
@@ -466,17 +490,25 @@
if (WIFEXITED (status)) {
ret = WEXITSTATUS (status);
if (ret)
- g_warning ("Spawn: child %d exited with error code %d", pid, ret);
+ g_message ("Spawn: child %d exited with error code %d", pid, ret);
} else
g_warning ("Spawn: child %d died unexpectedly", pid);
/* Reap child */
waitpid (pid, NULL, WNOHANG);
+ if (ret != 0 && priv->retries) {
+ priv->retries--;
+ g_message ("Spawn: %d more tries...", priv->retries);
+ priv->retry_id = g_timeout_add (100, retry_cb, self);
+ return;
+ }
+
if (ret == 0) {
/* Success; do the next connect step */
do_stop = TRUE;
priv->connect_step++;
+ priv->retries = 0;
if (!connect_step (self, &error))
ret = 1;
}
@@ -623,6 +655,8 @@
write_config_option (fd, " salifetime=24h\n");
write_config_option (fd, " ikelifetime=24h\n");
write_config_option (fd, " keyingtries=1\n");
+ if (libreswan)
+ write_config_option (fd, " cisco-unity=yes\n");
write_config_option (fd, " auto=add");
/* openswan requires a terminating \n (otherwise it segfaults) while
@@ -745,7 +779,6 @@
g_error ("PTY spawn: cannot exec '%s'", (char *) argv->pdata[0]);
_exit (-1);
}
- g_ptr_array_free (argv, TRUE);
/* Close child side's pipes */
close (stderr_pipe[1]);
@@ -758,8 +791,10 @@
g_set_error (error, NM_VPN_PLUGIN_ERROR, NM_VPN_PLUGIN_ERROR_LAUNCH_FAILED,
"PTY spawn failed for '%s' (%d)",
(char *) argv->pdata[0], child_pid);
+ g_ptr_array_free (argv, TRUE);
return FALSE;
}
+ g_ptr_array_free (argv, TRUE);
/* Set pipes non-blocking, so we can read big buffers
* in the callback without having to use FIONREAD
@@ -1007,6 +1042,8 @@
return TRUE;
case CONNECT_STEP_WAIT_READY:
+ if (!priv->retries)
+ priv->retries = 30;
if (!do_spawn (&priv->pid, NULL, NULL, error, priv->ipsec_path, "auto", "--ready", NULL))
return FALSE;
priv->watch_id = g_child_watch_add (priv->pid, child_watch_cb, self);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/NetworkManager-openswan-1.0.0/src/show-xfrm.c new/NetworkManager-openswan-1.0.6/src/show-xfrm.c
--- old/NetworkManager-openswan-1.0.0/src/show-xfrm.c 2014-11-19 14:28:11.000000000 +0100
+++ new/NetworkManager-openswan-1.0.6/src/show-xfrm.c 2015-08-27 17:55:14.000000000 +0200
@@ -20,10 +20,12 @@
#define _GNU_SOURCE 1
#include <netlink/netlink.h>
#include <netlink/msg.h>
-#include <linux/xfrm.h>
#include <sys/socket.h>
#include <arpa/inet.h>
+#define _LINUX_IN6_H 1
+#include <linux/xfrm.h>
+
#include <glib.h>
static int
1
0
Hello community,
here is the log from the commit of package python-oslo.middleware for openSUSE:Factory checked in at 2015-09-09 20:20:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.middleware (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.middleware.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.middleware"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.middleware/python-oslo.middleware.changes 2015-08-27 08:54:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.middleware.new/python-oslo.middleware.changes 2015-09-09 20:20:57.000000000 +0200
@@ -1,0 +2,28 @@
+Sat Aug 29 17:24:28 UTC 2015 - tbechtold(a)suse.com
+
+- update to 2.8.0:
+ * Split option discovery function by middleware
+ * Updated from global requirements
+ * Updated from global requirements
+ * Fix remarks missed on #209817
+ * Added new test for CORS Simple Headers
+ * Restore backward compat of paste factory
+ * Do not dump HealthcheckResult class source
+ * Updated from global requirements
+ * Renamed latent_configuration to _latent_configuration
+ * Added latent properties to CORS middleware
+ * Declare some methods static
+ * Allow to get option from paste-deploy
+ * Remove usage of oslo.config global
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Updated from global requirements
+ * Updated from global requirements
+ * Added verbose debug logging to CORS
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
Old:
----
oslo.middleware-2.4.0.tar.gz
New:
----
oslo.middleware-2.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.middleware.spec ++++++
--- /var/tmp/diff_new_pack.ZAmsi5/_old 2015-09-09 20:20:57.000000000 +0200
+++ /var/tmp/diff_new_pack.ZAmsi5/_new 2015-09-09 20:20:57.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-oslo.middleware
-Version: 2.4.0
+Version: 2.8.0
Release: 0
Summary: oslo.middleware library
License: Apache-2.0
@@ -39,7 +39,7 @@
BuildRequires: python-testtools
Requires: python-Babel >= 1.3
Requires: python-WebOb >= 1.2.3
-Requires: python-oslo.config >= 1.11.0
+Requires: python-oslo.config >= 2.3.0
Requires: python-oslo.context >= 0.2.0
Requires: python-oslo.i18n >= 1.5.0
Requires: python-six >= 1.9.0
++++++ oslo.middleware-2.4.0.tar.gz -> oslo.middleware-2.8.0.tar.gz ++++++
++++ 1674 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/AUTHORS new/oslo.middleware-2.8.0/AUTHORS
--- old/oslo.middleware-2.4.0/AUTHORS 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/AUTHORS 2015-08-27 18:26:29.000000000 +0200
@@ -25,6 +25,7 @@
Kamil Rykowski <kamil.rykowski(a)intel.com>
Mark McLoughlin <markmc(a)redhat.com>
Mehdi Abaakouk <mehdi.abaakouk(a)enovance.com>
+Mehdi Abaakouk <sileht(a)redhat.com>
Michael Krotscheck <krotscheck(a)gmail.com>
Noorul Islam K M <noorul(a)noorul.com>
Sergey Kraynev <skraynev(a)mirantis.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/ChangeLog new/oslo.middleware-2.8.0/ChangeLog
--- old/oslo.middleware-2.4.0/ChangeLog 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/ChangeLog 2015-08-27 18:26:29.000000000 +0200
@@ -1,6 +1,48 @@
CHANGES
=======
+2.8.0
+-----
+
+* Split option discovery function by middleware
+* Updated from global requirements
+* Updated from global requirements
+
+2.7.0
+-----
+
+* Fix remarks missed on #209817
+
+2.6.1
+-----
+
+* Added new test for CORS Simple Headers
+* Restore backward compat of paste factory
+
+2.6.0
+-----
+
+* Do not dump HealthcheckResult class source
+* Updated from global requirements
+* Renamed latent_configuration to _latent_configuration
+* Added latent properties to CORS middleware
+* Declare some methods static
+* Allow to get option from paste-deploy
+* Remove usage of oslo.config global
+* Imported Translations from Transifex
+* Updated from global requirements
+
+2.5.0
+-----
+
+* Imported Translations from Transifex
+* Updated from global requirements
+* Imported Translations from Transifex
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Added verbose debug logging to CORS
+
2.4.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/PKG-INFO new/oslo.middleware-2.8.0/PKG-INFO
--- old/oslo.middleware-2.4.0/PKG-INFO 2015-07-13 20:35:02.000000000 +0200
+++ new/oslo.middleware-2.8.0/PKG-INFO 2015-08-27 18:26:29.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.middleware
-Version: 2.4.0
+Version: 2.8.0
Summary: Oslo Middleware library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/api.rst new/oslo.middleware-2.8.0/doc/source/api.rst
--- old/oslo.middleware-2.4.0/doc/source/api.rst 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/doc/source/api.rst 2015-08-27 18:26:00.000000000 +0200
@@ -4,3 +4,16 @@
.. automodule:: oslo_middleware
:members:
+
+Configuration Options
+=====================
+
+RequestBodySizeLimiter
+~~~~~~~~~~~~~~~~~~~~~~
+
+.. show-options:: oslo.middleware.sizelimit
+
+SSLMiddleware
+~~~~~~~~~~~~~
+
+.. show-options:: oslo.middleware.ssl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/conf.py new/oslo.middleware-2.8.0/doc/source/conf.py
--- old/oslo.middleware-2.4.0/doc/source/conf.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/doc/source/conf.py 2015-08-27 18:26:00.000000000 +0200
@@ -23,7 +23,8 @@
extensions = [
'sphinx.ext.autodoc',
#'sphinx.ext.intersphinx',
- 'oslosphinx'
+ 'oslosphinx',
+ 'oslo_config.sphinxext',
]
# autodoc generation is a bit aggressive and a nuisance when doing heavy
@@ -72,4 +73,4 @@
]
# Example configuration for intersphinx: refer to the Python standard library.
-#intersphinx_mapping = {'http://docs.python.org/': None}
\ No newline at end of file
+#intersphinx_mapping = {'http://docs.python.org/': None}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/cors.rst new/oslo.middleware-2.8.0/doc/source/cors.rst
--- old/oslo.middleware-2.4.0/doc/source/cors.rst 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/doc/source/cors.rst 2015-08-27 18:26:00.000000000 +0200
@@ -78,6 +78,17 @@
allowed_origin=*
allow_methods=GET
+If your software requires specific headers or methods for proper operation, you
+may include these as latent properties. These will be evaluated in addition
+to any found in configuration::
+
+ from oslo_middleware import cors
+
+ app = cors.CORS(your_wsgi_application)
+ app.set_latent(allow_headers=['X-System-Header'],
+ expose_headers=['X-System-Header'],
+ allow_methods=['GET','PATCH'])
+
Configuration for pastedeploy
-----------------------------
@@ -94,6 +105,11 @@
expose_headers=Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma,X-Custom-Header
+Configuration Options
+---------------------
+
+.. show-options:: oslo.middleware.cors
+
Module Documentation
--------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/healthcheck_plugins.rst new/oslo.middleware-2.8.0/doc/source/healthcheck_plugins.rst
--- old/oslo.middleware-2.4.0/doc/source/healthcheck_plugins.rst 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/doc/source/healthcheck_plugins.rst 2015-08-27 18:26:00.000000000 +0200
@@ -2,5 +2,8 @@
Healthcheck middleware plugins
================================
+.. automodule:: oslo_middleware.healthcheck
+ :members:
+
.. automodule:: oslo_middleware.healthcheck.disable_by_file
:members:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/index.rst new/oslo.middleware-2.8.0/doc/source/index.rst
--- old/oslo.middleware-2.4.0/doc/source/index.rst 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/doc/source/index.rst 2015-08-27 18:26:00.000000000 +0200
@@ -10,4 +10,5 @@
api
healthcheck_plugins
cors
+ oslo_config
contributing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/doc/source/oslo_config.rst new/oslo.middleware-2.8.0/doc/source/oslo_config.rst
--- old/oslo.middleware-2.4.0/doc/source/oslo_config.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.middleware-2.8.0/doc/source/oslo_config.rst 2015-08-27 18:26:00.000000000 +0200
@@ -0,0 +1,53 @@
+=============================
+Middlewares and configuration
+=============================
+
+Middlewares can be configured in multiple fashion depending of the
+application needs. Here is some use-cases:
+
+Configuration from the application
+----------------------------------
+
+The application code will looks like::
+
+ from oslo_middleware import sizelimit
+ from oslo_config import cfg
+
+ conf = cfg.ConfigOpts()
+ app = sizelimit.RequestBodySizeLimiter(your_wsgi_application, conf)
+
+
+Configuration with paste-deploy and the oslo.config
+---------------------------------------------------
+
+The paste filter (in /etc/my_app/api-paste.ini) will looks like::
+
+ [filter:sizelimit]
+ paste.filter_factory = oslo_middleware.sizelimit:RequestBodySizeLimiter.factory
+ # In case of the application doesn't use the global oslo.config
+ # object. The middleware must known the app name to load
+ # the application configuration, by setting this:
+ # oslo_config_project = my_app
+
+The oslo.config file of the application (eg: /etc/my_app/my_app.conf) will looks like::
+
+ [oslo_middleware]
+ max_request_body_size=1000
+
+
+Configuration with pastedeploy only
+-----------------------------------
+
+The paste filter (in /etc/my_app/api-paste.ini) will looks like::
+
+ [filter:sizelimit]
+ paste.filter_factory = oslo_middleware.sizelimit:RequestBodySizeLimiter.factory
+ max_request_body_size=1000
+
+This will override any configuration done via oslo.config
+
+
+.. note::
+
+ healtcheck middleware does not yet use oslo.config, see :doc:`healthcheck_plugins`
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware-log-error.po new/oslo.middleware-2.8.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware-log-error.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware-log-error.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware-log-error.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-09-07 20:10+0000\n"
"Last-Translator: Andreas Jaeger <jaegerandi(a)gmail.com>\n"
-"Language-Team: German (http://www.transifex.com/p/oslomiddleware/language/"
-"de/)\n"
+"Language-Team: German (http://www.transifex.com/openstack/oslomiddleware/"
+"language/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware.po new/oslo.middleware-2.8.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/de/LC_MESSAGES/oslo.middleware.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-09-07 20:09+0000\n"
"Last-Translator: Andreas Jaeger <jaegerandi(a)gmail.com>\n"
-"Language-Team: German (http://www.transifex.com/p/oslomiddleware/language/"
-"de/)\n"
+"Language-Team: German (http://www.transifex.com/openstack/oslomiddleware/"
+"language/de/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
msgid "Request is too large."
msgstr "Die Anfrage ist zu groß."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware-log-error.po new/oslo.middleware-2.8.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware-log-error.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware-log-error.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware-log-error.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-11-03 23:03+0000\n"
"Last-Translator: Andi Chandler <andi(a)gowling.com>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"oslomiddleware/language/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware.po new/oslo.middleware-2.8.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/en_GB/LC_MESSAGES/oslo.middleware.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-11-03 23:03+0000\n"
"Last-Translator: Andi Chandler <andi(a)gowling.com>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"oslomiddleware/language/en_GB/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
msgid "Request is too large."
msgstr "Request is too large."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware-log-error.po new/oslo.middleware-2.8.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware-log-error.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware-log-error.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware-log-error.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-09-25 09:01+0000\n"
"Last-Translator: Maxime COQUEREL <max.coquerel(a)gmail.com>\n"
-"Language-Team: French (http://www.transifex.com/p/oslomiddleware/language/"
-"fr/)\n"
+"Language-Team: French (http://www.transifex.com/openstack/oslomiddleware/"
+"language/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware.po new/oslo.middleware-2.8.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware.po
--- old/oslo.middleware-2.4.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware.po 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware/locale/fr/LC_MESSAGES/oslo.middleware.po 2015-08-27 18:26:00.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.middleware\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-09 06:02+0000\n"
+"POT-Creation-Date: 2015-08-04 06:15+0000\n"
"PO-Revision-Date: 2014-09-17 21:06+0000\n"
"Last-Translator: Maxime COQUEREL <max.coquerel(a)gmail.com>\n"
-"Language-Team: French (http://www.transifex.com/p/oslomiddleware/language/"
-"fr/)\n"
+"Language-Team: French (http://www.transifex.com/openstack/oslomiddleware/"
+"language/fr/)\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
msgid "Request is too large."
msgstr "Demande trop importante."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware.egg-info/PKG-INFO new/oslo.middleware-2.8.0/oslo.middleware.egg-info/PKG-INFO
--- old/oslo.middleware-2.4.0/oslo.middleware.egg-info/PKG-INFO 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware.egg-info/PKG-INFO 2015-08-27 18:26:29.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.middleware
-Version: 2.4.0
+Version: 2.8.0
Summary: Oslo Middleware library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware.egg-info/SOURCES.txt new/oslo.middleware-2.8.0/oslo.middleware.egg-info/SOURCES.txt
--- old/oslo.middleware-2.4.0/oslo.middleware.egg-info/SOURCES.txt 2015-07-13 20:35:02.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware.egg-info/SOURCES.txt 2015-08-27 18:26:29.000000000 +0200
@@ -22,6 +22,7 @@
doc/source/healthcheck_plugins.rst
doc/source/index.rst
doc/source/installation.rst
+doc/source/oslo_config.rst
oslo/__init__.py
oslo.middleware.egg-info/PKG-INFO
oslo.middleware.egg-info/SOURCES.txt
@@ -70,6 +71,7 @@
oslo_middleware/tests/test_correlation_id.py
oslo_middleware/tests/test_cors.py
oslo_middleware/tests/test_healthcheck.py
+oslo_middleware/tests/test_opts.py
oslo_middleware/tests/test_request_id.py
oslo_middleware/tests/test_sizelimit.py
oslo_middleware/tests/test_ssl.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware.egg-info/entry_points.txt new/oslo.middleware-2.8.0/oslo.middleware.egg-info/entry_points.txt
--- old/oslo.middleware-2.4.0/oslo.middleware.egg-info/entry_points.txt 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware.egg-info/entry_points.txt 2015-08-27 18:26:29.000000000 +0200
@@ -1,5 +1,8 @@
[oslo.config.opts]
oslo.middleware = oslo_middleware.opts:list_opts
+oslo.middleware.cors = oslo_middleware.opts:list_opts_cors
+oslo.middleware.sizelimit = oslo_middleware.opts:list_opts_sizelimit
+oslo.middleware.ssl = oslo_middleware.opts:list_opts_ssl
[oslo.middleware.healthcheck]
disable_by_file = oslo_middleware.healthcheck.disable_by_file:DisableByFileHealthcheck
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware.egg-info/pbr.json new/oslo.middleware-2.8.0/oslo.middleware.egg-info/pbr.json
--- old/oslo.middleware-2.4.0/oslo.middleware.egg-info/pbr.json 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware.egg-info/pbr.json 2015-08-27 18:26:29.000000000 +0200
@@ -1 +1 @@
-{"git_version": "393f799", "is_release": true}
\ No newline at end of file
+{"git_version": "b73aa5c", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo.middleware.egg-info/requires.txt new/oslo.middleware-2.8.0/oslo.middleware.egg-info/requires.txt
--- old/oslo.middleware-2.4.0/oslo.middleware.egg-info/requires.txt 2015-07-13 20:35:01.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo.middleware.egg-info/requires.txt 2015-08-27 18:26:29.000000000 +0200
@@ -1,8 +1,8 @@
-pbr<2.0,>=0.11
+pbr<2.0,>=1.6
Babel>=1.3
-oslo.config>=1.11.0 # Apache-2.0
-oslo.context>=0.2.0 # Apache-2.0
-oslo.i18n>=1.5.0 # Apache-2.0
+oslo.config>=2.3.0
+oslo.context>=0.2.0
+oslo.i18n>=1.5.0
six>=1.9.0
-stevedore>=1.5.0 # Apache-2.0
+stevedore>=1.5.0
WebOb>=1.2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/base.py new/oslo.middleware-2.8.0/oslo_middleware/base.py
--- old/oslo.middleware-2.4.0/oslo_middleware/base.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/base.py 2015-08-27 18:26:00.000000000 +0200
@@ -18,8 +18,10 @@
from inspect import getargspec
import webob.dec
+from oslo_config import cfg
-class Middleware(object):
+
+class ConfigurableMiddleware(object):
"""Base WSGI middleware wrapper.
These classes require an application to be initialized that will be called
@@ -29,13 +31,60 @@
@classmethod
def factory(cls, global_conf, **local_conf):
- """Factory method for paste.deploy."""
- return cls
+ """Factory method for paste.deploy.
+
+ :param global_conf: dict of options for all middlewares
+ (usually the [DEFAULT] section of the paste deploy
+ configuration file)
+ :param local_conf: options dedicated to this middleware
+ (usually the option defined in the middleware
+ section of the paste deploy configuration file)
+ """
+ conf = global_conf.copy() if global_conf else {}
+ conf.update(local_conf)
- def __init__(self, application):
+ def middleware_filter(app):
+ return cls(app, conf)
+
+ return middleware_filter
+
+ def __init__(self, application, conf=None):
+ """Base middleware constructor
+
+ :param conf: a dict of options or a cfg.ConfigOpts object
+ """
self.application = application
- def process_request(self, req):
+ # NOTE(sileht): If the configuration come from oslo.config
+ # just use it.
+ if isinstance(conf, cfg.ConfigOpts):
+ self.conf = {}
+ self.oslo_conf = conf
+ else:
+ self.conf = conf or {}
+ if "oslo_config_project" in self.conf:
+ if 'oslo_config_file' in self.conf:
+ default_config_files = [self.conf['oslo_config_file']]
+ else:
+ default_config_files = None
+ self.oslo_conf = cfg.ConfigOpts()
+ self.oslo_conf([], project=self.conf['oslo_config_project'],
+ default_config_files=default_config_files,
+ validate_default_values=True)
+
+ else:
+ # Fallback to global object
+ self.oslo_conf = cfg.CONF
+
+ def _conf_get(self, key, group="oslo_middleware"):
+ if key in self.conf:
+ # Validate value type
+ self.oslo_conf.set_override(key, self.conf[key], group=group,
+ enforce_type=True)
+ return getattr(getattr(self.oslo_conf, group), key)
+
+ @staticmethod
+ def process_request(req):
"""Called on each request.
If this returns None, the next application down the stack will be
@@ -44,7 +93,8 @@
"""
return None
- def process_response(self, response, request=None):
+ @staticmethod
+ def process_response(response, request=None):
"""Do whatever you'd like to the response."""
return response
@@ -59,3 +109,16 @@
if 'request' in args:
return self.process_response(response, request=req)
return self.process_response(response)
+
+
+class Middleware(ConfigurableMiddleware):
+ """Legacy base WSGI middleware wrapper.
+
+ Legacy interface that doesn't pass configuration options
+ to the middleware when it's loaded via paste.deploy.
+ """
+
+ @classmethod
+ def factory(cls, global_conf, **local_conf):
+ """Factory method for paste.deploy."""
+ return cls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/catch_errors.py new/oslo.middleware-2.8.0/oslo_middleware/catch_errors.py
--- old/oslo.middleware-2.4.0/oslo_middleware/catch_errors.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/catch_errors.py 2015-08-27 18:26:00.000000000 +0200
@@ -25,7 +25,7 @@
LOG = logging.getLogger(__name__)
-class CatchErrors(base.Middleware):
+class CatchErrors(base.ConfigurableMiddleware):
"""Middleware that provides high-level error handling.
It catches all exceptions from subsequent applications in WSGI pipeline
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/correlation_id.py new/oslo.middleware-2.8.0/oslo_middleware/correlation_id.py
--- old/oslo.middleware-2.4.0/oslo_middleware/correlation_id.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/correlation_id.py 2015-08-27 18:26:00.000000000 +0200
@@ -18,7 +18,7 @@
from oslo_middleware import base
-class CorrelationId(base.Middleware):
+class CorrelationId(base.ConfigurableMiddleware):
"Middleware that attaches a correlation id to WSGI request"
def process_request(self, req):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/cors.py new/oslo.middleware-2.8.0/oslo_middleware/cors.py
--- old/oslo.middleware-2.4.0/oslo_middleware/cors.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/cors.py 2015-08-27 18:26:00.000000000 +0200
@@ -22,7 +22,6 @@
import webob.exc
import webob.response
-
LOG = logging.getLogger(__name__)
CORS_OPTS = [
@@ -54,39 +53,7 @@
]
-def filter_factory(global_conf,
- allowed_origin,
- allow_credentials=True,
- expose_headers=None,
- max_age=None,
- allow_methods=None,
- allow_headers=None):
- '''Factory to support paste.deploy
-
- :param global_conf: The paste.ini global configuration object (not used).
- :param allowed_origin: Protocol, host, and port for the allowed origin.
- :param allow_credentials: Whether to permit credentials.
- :param expose_headers: A list of headers to expose.
- :param max_age: Maximum cache duration.
- :param allow_methods: List of HTTP methods to permit.
- :param allow_headers: List of HTTP headers to permit from the client.
- :return:
- '''
-
- def filter(app):
- cors_app = CORS(app)
- cors_app.add_origin(allowed_origin=allowed_origin,
- allow_credentials=allow_credentials,
- expose_headers=expose_headers,
- max_age=max_age,
- allow_methods=allow_methods,
- allow_headers=allow_headers)
- return cors_app
-
- return filter
-
-
-class CORS(base.Middleware):
+class CORS(base.ConfigurableMiddleware):
"""CORS Middleware.
This middleware allows a WSGI app to serve CORS headers for multiple
@@ -96,6 +63,8 @@
"""
simple_headers = [
+ 'Accept',
+ 'Accept-Language',
'Content-Type',
'Cache-Control',
'Content-Language',
@@ -104,22 +73,48 @@
'Pragma'
]
- def __init__(self, application, conf=None):
- super(CORS, self).__init__(application)
-
+ def __init__(self, application, *args, **kwargs):
+ super(CORS, self).__init__(application, *args, **kwargs)
# Begin constructing our configuration hash.
self.allowed_origins = {}
+ self._init_conf()
- # Sanity check. Do we have an oslo.config? If so, load it. Else, assume
- # that we'll use add_config.
- if conf:
- self._init_from_oslo(conf)
+ @classmethod
+ def factory(cls, global_conf, allowed_origin, **local_conf):
+ """factory method for paste.deploy
+
+ allowed_origin: Protocol, host, and port for the allowed origin.
+ allow_credentials: Whether to permit credentials.
+ expose_headers: A list of headers to expose.
+ max_age: Maximum cache duration.
+ allow_methods: List of HTTP methods to permit.
+ allow_headers: List of HTTP headers to permit from the client.
+ """
+
+ # Ensures allowed_origin config exists
+ return super(CORS, cls).factory(global_conf,
+ allowed_origin=allowed_origin,
+ **local_conf)
- def _init_from_oslo(self, conf):
+ def _init_conf(self):
'''Initialize this middleware from an oslo.config instance.'''
+ # Set up a location for our latent configuration options
+ self._latent_configuration = {
+ 'allow_headers': [],
+ 'expose_headers': [],
+ 'methods': []
+ }
+
# First, check the configuration and register global options.
- conf.register_opts(CORS_OPTS, 'cors')
+ self.oslo_conf.register_opts(CORS_OPTS, 'cors')
+
+ allowed_origin = self._conf_get('allowed_origin', 'cors')
+ allow_credentials = self._conf_get('allow_credentials', 'cors')
+ expose_headers = self._conf_get('expose_headers', 'cors')
+ max_age = self._conf_get('max_age', 'cors')
+ allow_methods = self._conf_get('allow_methods', 'cors')
+ allow_headers = self._conf_get('allow_headers', 'cors')
# Clone our original CORS_OPTS, and set the defaults to whatever is
# set in the global conf instance. This is done explicitly (instead
@@ -127,24 +122,29 @@
# allowed_origin.
subgroup_opts = copy.deepcopy(CORS_OPTS)
cfg.set_defaults(subgroup_opts,
- allow_credentials=conf.cors.allow_credentials,
- expose_headers=conf.cors.expose_headers,
- max_age=conf.cors.max_age,
- allow_methods=conf.cors.allow_methods,
- allow_headers=conf.cors.allow_headers)
+ allow_credentials=allow_credentials,
+ expose_headers=expose_headers,
+ max_age=max_age,
+ allow_methods=allow_methods,
+ allow_headers=allow_headers)
# If the default configuration contains an allowed_origin, don't
# forget to register that.
- if conf.cors.allowed_origin:
- self.add_origin(**conf.cors)
+ if allowed_origin:
+ self.add_origin(allowed_origin=allowed_origin,
+ allow_credentials=allow_credentials,
+ expose_headers=expose_headers,
+ max_age=max_age,
+ allow_methods=allow_methods,
+ allow_headers=allow_headers)
# Iterate through all the loaded config sections, looking for ones
# prefixed with 'cors.'
- for section in conf.list_all_sections():
+ for section in self.oslo_conf.list_all_sections():
if section.startswith('cors.'):
# Register with the preconstructed defaults
- conf.register_opts(subgroup_opts, section)
- self.add_origin(**conf[section])
+ self.oslo_conf.register_opts(subgroup_opts, section)
+ self.add_origin(**self.oslo_conf[section])
def add_origin(self, allowed_origin, allow_credentials=True,
expose_headers=None, max_age=None, allow_methods=None,
@@ -173,6 +173,39 @@
'allow_headers': allow_headers
}
+ def set_latent(self, allow_headers=None, allow_methods=None,
+ expose_headers=None):
+ '''Add a new latent property for this middleware.
+
+ Latent properties are those values which a system requires for
+ operation. API-specific headers, for example, may be added by an
+ engineer so that they ship with the codebase, and thus do not require
+ extra documentation or passing of institutional knowledge.
+
+ :param allow_headers: HTTP headers permitted in client requests.
+ :param allow_methods: HTTP methods permitted in client requests.
+ :param expose_headers: HTTP Headers exposed to clients.
+ '''
+
+ if allow_headers:
+ if isinstance(allow_headers, list):
+ self._latent_configuration['allow_headers'] = allow_headers
+ else:
+ raise TypeError("allow_headers must be a list or None.")
+
+ if expose_headers:
+ if isinstance(expose_headers, list):
+ self._latent_configuration['expose_headers'] = expose_headers
+ else:
+ raise TypeError("expose_headers must be a list or None.")
+
+ if allow_methods:
+ if isinstance(allow_methods, list):
+ self._latent_configuration['methods'] = allow_methods
+ else:
+ raise TypeError("allow_methods parameter must be a list or"
+ " None.")
+
def process_response(self, response, request=None):
'''Check for CORS headers, and decorate if necessary.
@@ -201,7 +234,8 @@
# Finally, return the response.
return response
- def _split_header_values(self, request, header_name):
+ @staticmethod
+ def _split_header_values(request, header_name):
"""Convert a comma-separated header value into a list of values."""
values = []
if header_name in request.headers:
@@ -241,6 +275,8 @@
# If there's no request method, exit. (Section 6.2.3)
if 'Access-Control-Request-Method' not in request.headers:
+ LOG.debug('CORS request does not contain '
+ 'Access-Control-Request-Method header.')
return response
request_method = request.headers['Access-Control-Request-Method']
@@ -254,17 +290,26 @@
return response
# Compare request method to permitted methods (Section 6.2.5)
- if request_method not in cors_config['allow_methods']:
+ permitted_methods = (
+ cors_config['allow_methods'] +
+ self._latent_configuration['methods']
+ )
+ if request_method not in permitted_methods:
+ LOG.debug('Request method \'%s\' not in permitted list: %s'
+ % (request_method, permitted_methods))
return response
# Compare request headers to permitted headers, case-insensitively.
# (Section 6.2.6)
+ permitted_headers = [header.upper() for header in
+ (cors_config['allow_headers'] +
+ self.simple_headers +
+ self._latent_configuration['allow_headers'])]
for requested_header in request_headers:
upper_header = requested_header.upper()
- permitted_headers = (cors_config['allow_headers'] +
- self.simple_headers)
- if upper_header not in (header.upper() for header in
- permitted_headers):
+ if upper_header not in permitted_headers:
+ LOG.debug('Request header \'%s\' not in permitted list: %s'
+ % (requested_header, permitted_headers))
return response
# Set the default origin permission headers. (Sections 6.2.7, 6.4)
@@ -320,4 +365,8 @@
# Attach the exposed headers and exit. (Section 6.1.4)
if cors_config['expose_headers']:
response.headers['Access-Control-Expose-Headers'] = \
- ','.join(cors_config['expose_headers'])
+ ','.join(cors_config['expose_headers'] +
+ self._latent_configuration['expose_headers'])
+
+# NOTE(sileht): Shortcut for backwards compatibility
+filter_factory = CORS.factory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/debug.py new/oslo.middleware-2.8.0/oslo_middleware/debug.py
--- old/oslo.middleware-2.4.0/oslo_middleware/debug.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/debug.py 2015-08-27 18:26:00.000000000 +0200
@@ -25,7 +25,7 @@
from oslo_middleware import base
-class Debug(base.Middleware):
+class Debug(base.ConfigurableMiddleware):
"""Helper class that returns debug information.
Can be inserted into any WSGI application chain to get information about
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/healthcheck/__init__.py new/oslo.middleware-2.8.0/oslo_middleware/healthcheck/__init__.py
--- old/oslo.middleware-2.4.0/oslo_middleware/healthcheck/__init__.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/healthcheck/__init__.py 2015-08-27 18:26:00.000000000 +0200
@@ -21,7 +21,7 @@
from oslo_middleware import base
-class Healthcheck(base.Middleware):
+class Healthcheck(base.ConfigurableMiddleware):
"""Healthcheck middleware used for monitoring.
If the path is /healthcheck, it will respond 200 with "OK" as the body.
@@ -72,16 +72,6 @@
NAMESPACE = "oslo.middleware.healthcheck"
- @classmethod
- def factory(cls, global_conf, **local_conf):
- """Factory method for paste.deploy."""
- conf = global_conf.copy()
- conf.update(local_conf)
-
- def healthcheck_filter(app):
- return cls(app, conf)
- return healthcheck_filter
-
def __init__(self, application, conf):
super(Healthcheck, self).__init__(application)
self._path = conf.get('path', '/healthcheck')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/healthcheck/pluginbase.py new/oslo.middleware-2.8.0/oslo_middleware/healthcheck/pluginbase.py
--- old/oslo.middleware-2.4.0/oslo_middleware/healthcheck/pluginbase.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/healthcheck/pluginbase.py 2015-08-27 18:26:00.000000000 +0200
@@ -19,7 +19,7 @@
import six
HealthcheckResult = collections.namedtuple(
- 'HealthcheckResult', ['available', 'reason'], verbose=True)
+ 'HealthcheckResult', ['available', 'reason'])
@six.add_metaclass(abc.ABCMeta)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/opts.py new/oslo.middleware-2.8.0/oslo_middleware/opts.py
--- old/oslo.middleware-2.4.0/oslo_middleware/opts.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/opts.py 2015-08-27 18:26:00.000000000 +0200
@@ -15,10 +15,14 @@
__all__ = [
'list_opts',
+ 'list_opts_sizelimit',
+ 'list_opts_ssl',
+ 'list_opts_cors'
]
import copy
+import itertools
from oslo_middleware import cors
from oslo_middleware import sizelimit
@@ -26,7 +30,83 @@
def list_opts():
- """Return a list of oslo.config options available in the library.
+ """Return a list of oslo.config options for ALL of the middleware classes.
+
+ The returned list includes all oslo.config options which may be registered
+ at runtime by the library.
+
+ Each element of the list is a tuple. The first element is the name of the
+ group under which the list of elements in the second element will be
+ registered. A group name of None corresponds to the [DEFAULT] group in
+ config files.
+
+ This function is also discoverable via the 'oslo.concurrency' entry point
+ under the 'oslo.config.opts' namespace.
+
+ The purpose of this is to allow tools like the Oslo sample config file
+ generator to discover the options exposed to users by this library.
+
+ :returns: a list of (group_name, opts) tuples
+ """
+ return list(
+ itertools.chain(
+ list_opts_sizelimit(),
+ list_opts_ssl(),
+ list_opts_cors(),
+ )
+ )
+
+
+def list_opts_sizelimit():
+ """Return a list of oslo.config options for the sizelimit middleware.
+
+ The returned list includes all oslo.config options which may be registered
+ at runtime by the library.
+
+ Each element of the list is a tuple. The first element is the name of the
+ group under which the list of elements in the second element will be
+ registered. A group name of None corresponds to the [DEFAULT] group in
+ config files.
+
+ This function is also discoverable via the 'oslo.concurrency' entry point
+ under the 'oslo.config.opts' namespace.
+
+ The purpose of this is to allow tools like the Oslo sample config file
+ generator to discover the options exposed to users by this library.
+
+ :returns: a list of (group_name, opts) tuples
+ """
+ return [
+ ('oslo_middleware', copy.deepcopy(sizelimit._opts)),
+ ]
+
+
+def list_opts_ssl():
+ """Return a list of oslo.config options for the sizelimit middleware.
+
+ The returned list includes all oslo.config options which may be registered
+ at runtime by the library.
+
+ Each element of the list is a tuple. The first element is the name of the
+ group under which the list of elements in the second element will be
+ registered. A group name of None corresponds to the [DEFAULT] group in
+ config files.
+
+ This function is also discoverable via the 'oslo.concurrency' entry point
+ under the 'oslo.config.opts' namespace.
+
+ The purpose of this is to allow tools like the Oslo sample config file
+ generator to discover the options exposed to users by this library.
+
+ :returns: a list of (group_name, opts) tuples
+ """
+ return [
+ ('oslo_middleware', copy.deepcopy(ssl.OPTS)),
+ ]
+
+
+def list_opts_cors():
+ """Return a list of oslo.config options for the cors middleware.
The returned list includes all oslo.config options which may be registered
at runtime by the library.
@@ -45,7 +125,6 @@
:returns: a list of (group_name, opts) tuples
"""
return [
- ('oslo_middleware', copy.deepcopy(sizelimit._opts + ssl.OPTS)),
('cors', copy.deepcopy(cors.CORS_OPTS)),
('cors.subdomain', copy.deepcopy(cors.CORS_OPTS))
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/request_id.py new/oslo.middleware-2.8.0/oslo_middleware/request_id.py
--- old/oslo.middleware-2.4.0/oslo_middleware/request_id.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/request_id.py 2015-08-27 18:26:00.000000000 +0200
@@ -23,7 +23,7 @@
HTTP_RESP_HEADER_REQUEST_ID = 'x-openstack-request-id'
-class RequestId(base.Middleware):
+class RequestId(base.ConfigurableMiddleware):
"""Middleware that ensures request ID.
It ensures to assign request ID for each API request and set it to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/sizelimit.py new/oslo.middleware-2.8.0/oslo_middleware/sizelimit.py
--- old/oslo.middleware-2.4.0/oslo_middleware/sizelimit.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/sizelimit.py 2015-08-27 18:26:00.000000000 +0200
@@ -18,7 +18,6 @@
"""
from oslo_config import cfg
-from oslo_config import cfgfilter
import webob.dec
import webob.exc
@@ -40,9 +39,6 @@
deprecated_opts=_oldopts)
]
-CONF = cfgfilter.ConfigFilter(cfg.CONF)
-CONF.register_opts(_opts, group='oslo_middleware')
-
class LimitingReader(object):
"""Reader to limit the size of an incoming request."""
@@ -79,12 +75,16 @@
return result
-class RequestBodySizeLimiter(base.Middleware):
+class RequestBodySizeLimiter(base.ConfigurableMiddleware):
"""Limit the size of incoming requests."""
+ def __init__(self, application, conf=None):
+ super(RequestBodySizeLimiter, self).__init__(application, conf)
+ self.oslo_conf.register_opts(_opts, group='oslo_middleware')
+
@webob.dec.wsgify
def __call__(self, req):
- max_size = CONF.oslo_middleware.max_request_body_size
+ max_size = self._conf_get('max_request_body_size')
if (req.content_length is not None and
req.content_length > max_size):
msg = _("Request is too large.")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/ssl.py new/oslo.middleware-2.8.0/oslo_middleware/ssl.py
--- old/oslo.middleware-2.4.0/oslo_middleware/ssl.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/ssl.py 2015-08-27 18:26:00.000000000 +0200
@@ -21,10 +21,9 @@
"the original request protocol scheme was, even if it was "
"hidden by an SSL termination proxy.")
]
-cfg.CONF.register_opts(OPTS, group='oslo_middleware')
-class SSLMiddleware(base.Middleware):
+class SSLMiddleware(base.ConfigurableMiddleware):
"""SSL termination proxies middleware.
This middleware overloads wsgi.url_scheme with the one provided in
@@ -32,12 +31,13 @@
termination proxy.
"""
- def __init__(self, application):
- super(SSLMiddleware, self).__init__(application)
- self.header_name = 'HTTP_{0}'.format(
- cfg.CONF.oslo_middleware.secure_proxy_ssl_header.upper()
- .replace('-', '_'))
+ def __init__(self, application, *args, **kwargs):
+ super(SSLMiddleware, self).__init__(application, *args, **kwargs)
+ self.oslo_conf.register_opts(OPTS, group='oslo_middleware')
def process_request(self, req):
+ self.header_name = 'HTTP_{0}'.format(
+ self._conf_get('secure_proxy_ssl_header').upper()
+ .replace('-', '_'))
req.environ['wsgi.url_scheme'] = req.environ.get(
self.header_name, req.environ['wsgi.url_scheme'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/tests/test_base.py new/oslo.middleware-2.8.0/oslo_middleware/tests/test_base.py
--- old/oslo.middleware-2.4.0/oslo_middleware/tests/test_base.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/tests/test_base.py 2015-08-27 18:26:00.000000000 +0200
@@ -14,28 +14,25 @@
import webob
+from oslo_middleware.base import ConfigurableMiddleware
from oslo_middleware.base import Middleware
from oslotest.base import BaseTestCase
+(a)webob.dec.wsgify
+def application(req):
+ return 'Hello, World!!!'
+
+
class TestBase(BaseTestCase):
"""Test the base middleware class."""
- def setUp(self):
- """Setup the tests."""
- super(BaseTestCase, self).setUp()
-
def test_extend_with_request(self):
"""Assert that a newer middleware behaves as appropriate.
This tests makes sure that the request is passed to the
middleware's implementation.
"""
- # Create an application.
- @webob.dec.wsgify
- def application(req):
- return 'Hello, World!!!'
-
# Bootstrap the application
self.application = RequestBase(application)
@@ -52,11 +49,6 @@
middleware's implementation, and that there are no other expected
errors.
"""
- # Create an application.
- @webob.dec.wsgify
- def application(req):
- return 'Hello, World!!!'
-
# Bootstrap the application
self.application = NoRequestBase(application)
@@ -66,6 +58,16 @@
self.assertTrue(self.application.called_without_request)
+ def test_paste_deploy_legacy(self):
+ app = LegacyMiddlewareTest.factory(
+ {'global': True}, local=True)(application)
+ self.assertEqual(app.conf, {})
+
+ def test_paste_deploy_configurable(self):
+ app = ConfigurableMiddlewareTest.factory(
+ {'global': True}, local=True)(application)
+ self.assertEqual(app.conf, {'global': True, 'local': True})
+
class NoRequestBase(Middleware):
"""Test middleware, implements old model."""
@@ -79,3 +81,11 @@
def process_response(self, response, request):
self.called_with_request = True
return response
+
+
+class ConfigurableMiddlewareTest(ConfigurableMiddleware):
+ pass
+
+
+class LegacyMiddlewareTest(Middleware):
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/tests/test_cors.py new/oslo.middleware-2.8.0/oslo_middleware/tests/test_cors.py
--- old/oslo.middleware-2.4.0/oslo_middleware/tests/test_cors.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/tests/test_cors.py 2015-08-27 18:26:00.000000000 +0200
@@ -115,6 +115,8 @@
"""Test the CORS filter_factory method."""
def test_filter_factory(self):
+ self.useFixture(fixture.Config()).conf([])
+
# Test a valid filter.
filter = cors.filter_factory(None,
allowed_origin='http://valid.example.com',
@@ -128,11 +130,11 @@
self.assertIn('http://valid.example.com', application.allowed_origins)
config = application.allowed_origins['http://valid.example.com']
- self.assertEqual('False', config['allow_credentials'])
- self.assertEqual('', config['max_age'])
- self.assertEqual('', config['expose_headers'])
- self.assertEqual('GET', config['allow_methods'])
- self.assertEqual('', config['allow_headers'])
+ self.assertEqual(False, config['allow_credentials'])
+ self.assertEqual(None, config['max_age'])
+ self.assertEqual([], config['expose_headers'])
+ self.assertEqual(['GET'], config['allow_methods'])
+ self.assertEqual([], config['allow_headers'])
def test_no_origin_fail(self):
'''Assert that a filter factory with no allowed_origin fails.'''
@@ -583,6 +585,41 @@
allow_credentials=None,
expose_headers=None)
+ def test_simple_header_response(self):
+ """CORS Specification Section 3
+
+ A header is said to be a simple header if the header field name is an
+ ASCII case-insensitive match for Accept, Accept-Language, or
+ Content-Language or if it is an ASCII case-insensitive match for
+ Content-Type and the header field value media type (excluding
+ parameters) is an ASCII case-insensitive match for
+ application/x-www-form-urlencoded, multipart/form-data, or text/plain.
+
+ NOTE: We are not testing the media type cases.
+ """
+
+ simple_headers = ','.join([
+ 'accept',
+ 'accept-language',
+ 'content-language',
+ 'content-type'
+ ])
+
+ request = webob.Request.blank('/')
+ request.method = "OPTIONS"
+ request.headers['Origin'] = 'http://valid.example.com'
+ request.headers['Access-Control-Request-Method'] = 'GET'
+ request.headers['Access-Control-Request-Headers'] = simple_headers
+ response = request.get_response(self.application)
+ self.assertCORSResponse(response,
+ status='200 OK',
+ allow_origin='http://valid.example.com',
+ max_age=None,
+ allow_methods='GET',
+ allow_headers=simple_headers,
+ allow_credentials=None,
+ expose_headers=None)
+
def test_no_request_method(self):
"""CORS Specification Section 6.2.3
@@ -996,3 +1033,113 @@
allow_headers='',
allow_credentials='true',
expose_headers=None)
+
+
+class CORSTestLatentProperties(CORSTestBase):
+ """Test the CORS wildcard specification."""
+
+ def setUp(self):
+ super(CORSTestLatentProperties, self).setUp()
+
+ # Set up the config fixture.
+ config = self.useFixture(fixture.Config(cfg.CONF))
+
+ config.load_raw_values(group='cors',
+ allowed_origin='http://default.example.com',
+ allow_credentials='True',
+ max_age='',
+ expose_headers='X-Configured',
+ allow_methods='GET',
+ allow_headers='X-Configured')
+
+ # Now that the config is set up, create our application.
+ self.application = cors.CORS(test_application, cfg.CONF)
+
+ def test_latent_methods(self):
+ """Assert that latent HTTP methods are permitted."""
+
+ self.application.set_latent(allow_headers=None,
+ expose_headers=None,
+ allow_methods=['POST'])
+
+ request = webob.Request.blank('/')
+ request.method = "OPTIONS"
+ request.headers['Origin'] = 'http://default.example.com'
+ request.headers['Access-Control-Request-Method'] = 'POST'
+ response = request.get_response(self.application)
+ self.assertCORSResponse(response,
+ status='200 OK',
+ allow_origin='http://default.example.com',
+ max_age=None,
+ allow_methods='POST',
+ allow_headers='',
+ allow_credentials='true',
+ expose_headers=None)
+
+ def test_invalid_latent_methods(self):
+ """Assert that passing a non-list is caught."""
+
+ self.assertRaises(TypeError,
+ self.application.set_latent,
+ allow_methods='POST')
+
+ def test_latent_allow_headers(self):
+ """Assert that latent HTTP headers are permitted."""
+
+ self.application.set_latent(allow_headers=['X-Latent'],
+ expose_headers=None,
+ allow_methods=None)
+
+ request = webob.Request.blank('/')
+ request.method = "OPTIONS"
+ request.headers['Origin'] = 'http://default.example.com'
+ request.headers['Access-Control-Request-Method'] = 'GET'
+ request.headers[
+ 'Access-Control-Request-Headers'] = 'X-Latent,X-Configured'
+ response = request.get_response(self.application)
+ self.assertCORSResponse(response,
+ status='200 OK',
+ allow_origin='http://default.example.com',
+ max_age=None,
+ allow_methods='GET',
+ allow_headers='X-Latent,X-Configured',
+ allow_credentials='true',
+ expose_headers=None)
+
+ def test_invalid_latent_allow_headers(self):
+ """Assert that passing a non-list is caught in allow headers."""
+
+ self.assertRaises(TypeError,
+ self.application.set_latent,
+ allow_headers='X-Latent')
+
+ def test_latent_expose_headers(self):
+ """Assert that latent HTTP headers are exposed."""
+
+ self.application.set_latent(allow_headers=None,
+ expose_headers=[
+ 'X-Server-Generated-Response'],
+ allow_methods=None)
+
+ request = webob.Request.blank('/')
+ request.method = "GET"
+ request.headers['Origin'] = 'http://default.example.com'
+ response = request.get_response(self.application)
+ self.assertCORSResponse(response,
+ status='200 OK',
+ allow_origin='http://default.example.com',
+ max_age=None,
+ allow_methods=None,
+ allow_headers=None,
+ allow_credentials='true',
+ expose_headers='X-Configured,'
+ 'X-Server-Generated-Response')
+
+ def test_invalid_latent_expose_headers(self):
+ """Assert that passing a non-list is caught in expose headers."""
+
+ # Add headers to the application.
+
+ self.assertRaises(TypeError,
+ self.application.set_latent,
+ expose_headers='X-Latent')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/tests/test_opts.py new/oslo.middleware-2.8.0/oslo_middleware/tests/test_opts.py
--- old/oslo.middleware-2.4.0/oslo_middleware/tests/test_opts.py 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.middleware-2.8.0/oslo_middleware/tests/test_opts.py 2015-08-27 18:26:00.000000000 +0200
@@ -0,0 +1,31 @@
+# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+from oslo_middleware import opts
+from oslotest.base import BaseTestCase
+
+
+class TestOptionDiscovery(BaseTestCase):
+
+ def test_all(self):
+ opts.list_opts()
+
+ def test_sizelimit(self):
+ opts.list_opts_sizelimit()
+
+ def test_cors(self):
+ opts.list_opts_cors()
+
+ def test_ssl(self):
+ opts.list_opts_ssl()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/tests/test_sizelimit.py new/oslo.middleware-2.8.0/oslo_middleware/tests/test_sizelimit.py
--- old/oslo.middleware-2.4.0/oslo_middleware/tests/test_sizelimit.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/tests/test_sizelimit.py 2015-08-27 18:26:00.000000000 +0200
@@ -78,15 +78,15 @@
def setUp(self):
super(TestRequestBodySizeLimiter, self).setUp()
- fixture = self.useFixture(config.Config(sizelimit.CONF))
- self.MAX_REQUEST_BODY_SIZE = \
- fixture.conf.oslo_middleware.max_request_body_size
+ self.useFixture(config.Config())
@webob.dec.wsgify()
def fake_app(req):
return webob.Response(req.body)
self.middleware = sizelimit.RequestBodySizeLimiter(fake_app)
+ self.MAX_REQUEST_BODY_SIZE = (
+ self.middleware.oslo_conf.oslo_middleware.max_request_body_size)
self.request = webob.Request.blank('/', method='POST')
def test_content_length_acceptable(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/oslo_middleware/tests/test_ssl.py new/oslo.middleware-2.8.0/oslo_middleware/tests/test_ssl.py
--- old/oslo.middleware-2.4.0/oslo_middleware/tests/test_ssl.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/oslo_middleware/tests/test_ssl.py 2015-08-27 18:26:00.000000000 +0200
@@ -13,7 +13,6 @@
# License for the specific language governing permissions and limitations
# under the License.
-from oslo_config import cfg
from oslo_config import fixture as config
from oslotest import base
import webob
@@ -27,8 +26,12 @@
super(SSLMiddlewareTest, self).setUp()
self.useFixture(config.Config())
- def _test_scheme(self, expected, headers):
+ def _test_scheme(self, expected, headers, secure_proxy_ssl_header=None):
middleware = ssl.SSLMiddleware(None)
+ if secure_proxy_ssl_header:
+ middleware.oslo_conf.set_override(
+ 'secure_proxy_ssl_header', secure_proxy_ssl_header,
+ group='oslo_middleware')
request = webob.Request.blank('http://example.com/', headers=headers)
# Ensure ssl middleware does not stop pipeline execution
@@ -44,13 +47,11 @@
self._test_scheme('https', headers)
def test_with_custom_header(self):
- cfg.CONF.set_override('secure_proxy_ssl_header', 'X-My-Header',
- group='oslo_middleware')
headers = {'X-Forwarded-Proto': 'https'}
- self._test_scheme('http', headers)
+ self._test_scheme('http', headers,
+ secure_proxy_ssl_header='X-My-Header')
def test_with_custom_header_and_forwarded_protocol(self):
- cfg.CONF.set_override('secure_proxy_ssl_header', 'X-My-Header',
- group='oslo_middleware')
headers = {'X-My-Header': 'https'}
- self._test_scheme('https', headers)
+ self._test_scheme('https', headers,
+ secure_proxy_ssl_header='X-My-Header')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/requirements.txt new/oslo.middleware-2.8.0/requirements.txt
--- old/oslo.middleware-2.4.0/requirements.txt 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/requirements.txt 2015-08-27 18:26:00.000000000 +0200
@@ -2,9 +2,9 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
-pbr<2.0,>=0.11
+pbr<2.0,>=1.6
Babel>=1.3
-oslo.config>=1.11.0 # Apache-2.0
+oslo.config>=2.3.0 # Apache-2.0
oslo.context>=0.2.0 # Apache-2.0
oslo.i18n>=1.5.0 # Apache-2.0
six>=1.9.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/setup.cfg new/oslo.middleware-2.8.0/setup.cfg
--- old/oslo.middleware-2.4.0/setup.cfg 2015-07-13 20:35:02.000000000 +0200
+++ new/oslo.middleware-2.8.0/setup.cfg 2015-08-27 18:26:29.000000000 +0200
@@ -30,6 +30,9 @@
[entry_points]
oslo.config.opts =
oslo.middleware = oslo_middleware.opts:list_opts
+ oslo.middleware.cors = oslo_middleware.opts:list_opts_cors
+ oslo.middleware.sizelimit = oslo_middleware.opts:list_opts_sizelimit
+ oslo.middleware.ssl = oslo_middleware.opts:list_opts_ssl
oslo.middleware.healthcheck =
disable_by_file = oslo_middleware.healthcheck.disable_by_file:DisableByFileHealthcheck
@@ -63,6 +66,6 @@
[egg_info]
tag_date = 0
-tag_build =
tag_svn_revision = 0
+tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/setup.py new/oslo.middleware-2.8.0/setup.py
--- old/oslo.middleware-2.4.0/setup.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/setup.py 2015-08-27 18:26:00.000000000 +0200
@@ -25,5 +25,5 @@
pass
setuptools.setup(
- setup_requires=['pbr'],
+ setup_requires=['pbr>=1.3'],
pbr=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/test-requirements.txt new/oslo.middleware-2.8.0/test-requirements.txt
--- old/oslo.middleware-2.4.0/test-requirements.txt 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/test-requirements.txt 2015-08-27 18:26:00.000000000 +0200
@@ -4,10 +4,9 @@
fixtures>=1.3.1
hacking<0.11,>=0.10.0
-mock>=1.1;python_version!='2.6'
-mock==1.0.1;python_version=='2.6'
+mock>=1.2
oslosphinx>=2.5.0 # Apache-2.0
-oslotest>=1.5.1 # Apache-2.0
+oslotest>=1.10.0 # Apache-2.0
sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
testtools>=1.4.0
coverage>=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/oslo.middleware-2.4.0/tests/test_sizelimit.py new/oslo.middleware-2.8.0/tests/test_sizelimit.py
--- old/oslo.middleware-2.4.0/tests/test_sizelimit.py 2015-07-13 20:34:39.000000000 +0200
+++ new/oslo.middleware-2.8.0/tests/test_sizelimit.py 2015-08-27 18:26:00.000000000 +0200
@@ -78,15 +78,15 @@
def setUp(self):
super(TestRequestBodySizeLimiter, self).setUp()
- fixture = self.useFixture(config.Config(sizelimit.CONF))
- self.MAX_REQUEST_BODY_SIZE = \
- fixture.conf.oslo_middleware.max_request_body_size
+ self.useFixture(config.Config())
@webob.dec.wsgify()
def fake_app(req):
return webob.Response(req.body)
self.middleware = sizelimit.RequestBodySizeLimiter(fake_app)
+ self.MAX_REQUEST_BODY_SIZE = (
+ self.middleware.oslo_conf.oslo_middleware.max_request_body_size)
self.request = webob.Request.blank('/', method='POST')
def test_content_length_acceptable(self):
1
0
Hello community,
here is the log from the commit of package python-oslo.utils for openSUSE:Factory checked in at 2015-09-09 20:20:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.utils (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.utils/python-oslo.utils.changes 2015-08-27 08:54:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.utils.new/python-oslo.utils.changes 2015-09-09 20:20:54.000000000 +0200
@@ -1,0 +2,15 @@
+Thu Sep 3 19:29:38 UTC 2015 - tbechtold(a)suse.com
+
+- update to 2.4.0:
+ * Updated from global requirements
+ * Updated from global requirements
+ * flake8 - remove unused rules
+ * Bump monotonic to 0.3 to remove exception catching on import
+ * Provide a common exception caused by base class
+ * Imported Translations from Transifex
+ * Allow access to reflection 'get_members'
+ * Updated from global requirements
+ * Imported Translations from Transifex
+ * Updated from global requirements
+
+-------------------------------------------------------------------
Old:
----
oslo.utils-2.1.0.tar.gz
New:
----
oslo.utils-2.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.utils.spec ++++++
--- /var/tmp/diff_new_pack.OX0NbT/_old 2015-09-09 20:20:54.000000000 +0200
+++ /var/tmp/diff_new_pack.OX0NbT/_new 2015-09-09 20:20:54.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-oslo.utils
-Version: 2.1.0
+Version: 2.4.0
Release: 0
Summary: Oslo utils library
License: Apache-2.0
@@ -31,7 +31,7 @@
Requires: python-Babel >= 1.3
Requires: python-debtcollector >= 0.3.0
Requires: python-iso8601 >= 0.1.9
-Requires: python-monotonic >= 0.1
+Requires: python-monotonic >= 0.3
Requires: python-netaddr >= 0.7.12
Requires: python-netifaces >= 0.10.4
Requires: python-oslo.i18n >= 1.5.0
++++++ oslo.utils-2.1.0.tar.gz -> oslo.utils-2.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/AUTHORS new/oslo.utils-2.4.0/AUTHORS
--- old/oslo.utils-2.1.0/AUTHORS 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/AUTHORS 2015-08-24 23:36:26.000000000 +0200
@@ -48,6 +48,7 @@
Joshua Harlow <harlowja(a)gmail.com>
Joshua Harlow <harlowja(a)yahoo-inc.com>
Julien Danjou <julien(a)danjou.info>
+Kevin Houdebert <kevin(a)qwazerty.eu>
Mehdi Abaakouk <mehdi.abaakouk(a)enovance.com>
Michael Wilson <geekinutah(a)gmail.com>
Monty Taylor <mordred(a)inaugust.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/ChangeLog new/oslo.utils-2.4.0/ChangeLog
--- old/oslo.utils-2.1.0/ChangeLog 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/ChangeLog 2015-08-24 23:36:26.000000000 +0200
@@ -1,6 +1,28 @@
CHANGES
=======
+2.4.0
+-----
+
+
+2.3.0
+-----
+
+* Updated from global requirements
+* Updated from global requirements
+* flake8 - remove unused rules
+* Bump monotonic to 0.3 to remove exception catching on import
+* Provide a common exception caused by base class
+* Imported Translations from Transifex
+* Allow access to reflection 'get_members'
+* Updated from global requirements
+
+2.2.0
+-----
+
+* Imported Translations from Transifex
+* Updated from global requirements
+
2.1.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/PKG-INFO new/oslo.utils-2.4.0/PKG-INFO
--- old/oslo.utils-2.1.0/PKG-INFO 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/PKG-INFO 2015-08-24 23:36:26.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.utils
-Version: 2.1.0
+Version: 2.4.0
Summary: Oslo Utility library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils-log-info.po new/oslo.utils-2.4.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils-log-info.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils-log-info.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils-log-info.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2014-12-07 06:44+0000\n"
"Last-Translator: Andreas Jaeger <jaegerandi(a)gmail.com>\n"
-"Language-Team: German (http://www.transifex.com/projects/p/osloutils/"
-"language/de/)\n"
+"Language-Team: German (http://www.transifex.com/openstack/osloutils/language/"
+"de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils.po new/oslo.utils-2.4.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/de/LC_MESSAGES/oslo.utils.po 2015-08-24 23:35:55.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2015-07-16 14:25+0000\n"
"Last-Translator: openstackjenkins <jenkins(a)openstack.org>\n"
-"Language-Team: German (http://www.transifex.com/projects/p/osloutils/"
-"language/de/)\n"
+"Language-Team: German (http://www.transifex.com/openstack/osloutils/language/"
+"de/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
#, python-format
msgid "Invalid string format: %s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-error.po new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-error.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-error.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-error.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2014-09-02 09:07+0000\n"
"Last-Translator: Andi Chandler <andi(a)gowling.com>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"osloutils/language/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-info.po new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-info.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-info.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-info.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2015-04-22 17:28+0000\n"
"Last-Translator: Andi Chandler <andi(a)gowling.com>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"osloutils/language/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-warning.po new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-warning.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-warning.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils-log-warning.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2014-09-02 09:08+0000\n"
"Last-Translator: Andi Chandler <andi(a)gowling.com>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"osloutils/language/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "tcp_keepcnt not available on your system"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils.po new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/en_GB/LC_MESSAGES/oslo.utils.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2015-07-16 14:25+0000\n"
"Last-Translator: openstackjenkins <jenkins(a)openstack.org>\n"
-"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/openstack/"
"osloutils/language/en_GB/)\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
#, python-format
msgid ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-error.po new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-error.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-error.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-error.po 2015-08-24 23:35:55.000000000 +0200
@@ -9,16 +9,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2014-10-08 05:32+0000\n"
"Last-Translator: Corina Roe <croe(a)redhat.com>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/osloutils/"
-"language/fr/)\n"
+"Language-Team: French (http://www.transifex.com/openstack/osloutils/language/"
+"fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-info.po new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-info.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-info.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-info.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2015-03-08 16:45+0000\n"
"Last-Translator: Maxime COQUEREL <max.coquerel(a)gmail.com>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/osloutils/"
-"language/fr/)\n"
+"Language-Team: French (http://www.transifex.com/openstack/osloutils/language/"
+"fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#, python-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-warning.po new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-warning.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-warning.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils-log-warning.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
"PO-Revision-Date: 2014-09-25 09:15+0000\n"
"Last-Translator: Maxime COQUEREL <max.coquerel(a)gmail.com>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/osloutils/"
-"language/fr/)\n"
+"Language-Team: French (http://www.transifex.com/openstack/osloutils/language/"
+"fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
msgid "tcp_keepcnt not available on your system"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils.po new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils.po
--- old/oslo.utils-2.1.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils.po 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/fr/LC_MESSAGES/oslo.utils.po 2015-08-24 23:35:55.000000000 +0200
@@ -8,16 +8,16 @@
msgstr ""
"Project-Id-Version: oslo.utils\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
-"PO-Revision-Date: 2015-07-16 14:25+0000\n"
-"Last-Translator: openstackjenkins <jenkins(a)openstack.org>\n"
-"Language-Team: French (http://www.transifex.com/projects/p/osloutils/"
-"language/fr/)\n"
+"POT-Creation-Date: 2015-08-04 06:33+0000\n"
+"PO-Revision-Date: 2015-07-27 22:55+0000\n"
+"Last-Translator: Maxime COQUEREL <max.coquerel(a)gmail.com>\n"
+"Language-Team: French (http://www.transifex.com/openstack/osloutils/language/"
+"fr/)\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
#, python-format
msgid ""
@@ -46,3 +46,7 @@
msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s"
msgstr ""
"Valeur non reconnue '%(val)s', les valeurs acceptables sont: %(acceptable)s"
+
+#, python-format
+msgid "Version %s is invalid."
+msgstr "La version %s est invalide."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-critical.pot new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-critical.pot
--- old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-critical.pot 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-critical.pot 2015-08-24 23:35:55.000000000 +0200
@@ -1,19 +1,19 @@
# Translations template for oslo.utils.
-# Copyright (C) 2014 ORGANIZATION
+# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the oslo.utils project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: oslo.utils 0.1.1\n"
+"Project-Id-Version: oslo.utils 2.1.1.dev1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-08-11 06:10+0000\n"
+"POT-Creation-Date: 2015-07-29 06:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-error.pot new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-error.pot
--- old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-error.pot 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-error.pot 2015-08-24 23:35:55.000000000 +0200
@@ -1,28 +1,28 @@
# Translations template for oslo.utils.
-# Copyright (C) 2014 ORGANIZATION
+# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the oslo.utils project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: oslo.utils 0.1.1\n"
+"Project-Id-Version: oslo.utils 2.1.1.dev1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-08-11 06:10+0000\n"
+"POT-Creation-Date: 2015-07-29 06:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
-#: oslo/utils/excutils.py:76
+#: oslo_utils/excutils.py:113
#, python-format
msgid "Original exception being dropped: %s"
msgstr ""
-#: oslo/utils/excutils.py:105
+#: oslo_utils/excutils.py:142
#, python-format
msgid "Unexpected exception occurred %d time(s)... retrying."
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-info.pot new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-info.pot
--- old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-info.pot 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-info.pot 2015-08-24 23:35:55.000000000 +0200
@@ -1,34 +1,34 @@
# Translations template for oslo.utils.
-# Copyright (C) 2014 ORGANIZATION
+# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the oslo.utils project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: oslo.utils 1.1.0.4.ga2a9b82\n"
+"Project-Id-Version: oslo.utils 2.1.1.dev1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-12-10 06:12+0000\n"
+"POT-Creation-Date: 2015-07-29 06:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
-#: oslo/utils/netutils.py:143
+#: oslo_utils/netutils.py:207
msgid ""
"Could not determine default network interface, using 127.0.0.1 for IPv4 "
"address"
msgstr ""
-#: oslo/utils/netutils.py:148
+#: oslo_utils/netutils.py:214
#, python-format
msgid "Could not determine IPv4 address for interface %s, using 127.0.0.1"
msgstr ""
-#: oslo/utils/netutils.py:152
+#: oslo_utils/netutils.py:218
#, python-format
msgid "Could not determine IPv4 address for interface %(interface)s: %(error)s"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-warning.pot new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-warning.pot
--- old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils-log-warning.pot 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils-log-warning.pot 2015-08-24 23:35:55.000000000 +0200
@@ -1,31 +1,31 @@
# Translations template for oslo.utils.
-# Copyright (C) 2014 ORGANIZATION
+# Copyright (C) 2015 ORGANIZATION
# This file is distributed under the same license as the oslo.utils project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: oslo.utils 0.1.1\n"
+"Project-Id-Version: oslo.utils 2.1.1.dev1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-08-11 06:10+0000\n"
+"POT-Creation-Date: 2015-07-29 06:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
-#: oslo/utils/netutils.py:151
+#: oslo_utils/netutils.py:328
msgid "tcp_keepidle not available on your system"
msgstr ""
-#: oslo/utils/netutils.py:158
+#: oslo_utils/netutils.py:335
msgid "tcp_keepintvl not available on your system"
msgstr ""
-#: oslo/utils/netutils.py:165
+#: oslo_utils/netutils.py:342
msgid "tcp_keepcnt not available on your system"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils.pot new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils.pot
--- old/oslo.utils-2.1.0/oslo.utils/locale/oslo.utils.pot 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils/locale/oslo.utils.pot 2015-08-24 23:35:55.000000000 +0200
@@ -6,16 +6,16 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: oslo.utils 2.0.1.dev2\n"
+"Project-Id-Version: oslo.utils 2.1.1.dev1\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2015-07-23 06:18+0000\n"
+"POT-Creation-Date: 2015-07-29 06:41+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 1.3\n"
+"Generated-By: Babel 2.0\n"
#: oslo_utils/netutils.py:123
msgid "Unable to generate IP address by EUI64 for IPv4 prefix"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils.egg-info/PKG-INFO new/oslo.utils-2.4.0/oslo.utils.egg-info/PKG-INFO
--- old/oslo.utils-2.1.0/oslo.utils.egg-info/PKG-INFO 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils.egg-info/PKG-INFO 2015-08-24 23:36:26.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.utils
-Version: 2.1.0
+Version: 2.4.0
Summary: Oslo Utility library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils.egg-info/pbr.json new/oslo.utils-2.4.0/oslo.utils.egg-info/pbr.json
--- old/oslo.utils-2.1.0/oslo.utils.egg-info/pbr.json 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils.egg-info/pbr.json 2015-08-24 23:36:26.000000000 +0200
@@ -1 +1 @@
-{"git_version": "485222b", "is_release": true}
\ No newline at end of file
+{"is_release": true, "git_version": "4f1adea"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo.utils.egg-info/requires.txt new/oslo.utils-2.4.0/oslo.utils.egg-info/requires.txt
--- old/oslo.utils-2.1.0/oslo.utils.egg-info/requires.txt 2015-07-27 21:59:38.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo.utils.egg-info/requires.txt 2015-08-24 23:36:26.000000000 +0200
@@ -1,10 +1,10 @@
-pbr<2.0,>=1.3
+pbr<2.0,>=1.4
Babel>=1.3
six>=1.9.0
iso8601>=0.1.9
-oslo.i18n>=1.5.0 # Apache-2.0
-monotonic>=0.1 # Apache-2.0
+oslo.i18n>=1.5.0
+monotonic>=0.3
pytz>=2013.6
netaddr>=0.7.12
netifaces>=0.10.4
-debtcollector>=0.3.0 # Apache-2.0
+debtcollector>=0.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo_utils/excutils.py new/oslo.utils-2.4.0/oslo_utils/excutils.py
--- old/oslo.utils-2.1.0/oslo_utils/excutils.py 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo_utils/excutils.py 2015-08-24 23:35:55.000000000 +0200
@@ -18,6 +18,7 @@
"""
import logging
+import os
import sys
import time
import traceback
@@ -25,6 +26,80 @@
import six
from oslo_utils._i18n import _LE
+from oslo_utils import reflection
+
+
+class CausedByException(Exception):
+ """Base class for exceptions which have associated causes.
+
+ NOTE(harlowja): in later versions of python we can likely remove the need
+ to have a ``cause`` here as PY3+ have implemented :pep:`3134` which
+ handles chaining in a much more elegant manner.
+
+ :param message: the exception message, typically some string that is
+ useful for consumers to view when debugging or analyzing
+ failures.
+ :param cause: the cause of the exception being raised, when provided this
+ should itself be an exception instance, this is useful for
+ creating a chain of exceptions for versions of python where
+ this is not yet implemented/supported natively.
+ """
+ def __init__(self, message, cause=None):
+ super(CausedByException, self).__init__(message)
+ self.cause = cause
+
+ def __bytes__(self):
+ return self.pformat().encode("utf8")
+
+ def __str__(self):
+ return self.pformat()
+
+ def _get_message(self):
+ # We must *not* call into the ``__str__`` method as that will
+ # reactivate the pformat method, which will end up badly (and doesn't
+ # look pretty at all); so be careful...
+ return self.args[0]
+
+ def pformat(self, indent=2, indent_text=" ", show_root_class=False):
+ """Pretty formats a caused exception + any connected causes."""
+ if indent < 0:
+ raise ValueError("Provided 'indent' must be greater than"
+ " or equal to zero instead of %s" % indent)
+ buf = six.StringIO()
+ if show_root_class:
+ buf.write(reflection.get_class_name(self, fully_qualified=False))
+ buf.write(": ")
+ buf.write(self._get_message())
+ active_indent = indent
+ next_up = self.cause
+ seen = []
+ while next_up is not None and next_up not in seen:
+ seen.append(next_up)
+ buf.write(os.linesep)
+ if isinstance(next_up, CausedByException):
+ buf.write(indent_text * active_indent)
+ buf.write(reflection.get_class_name(next_up,
+ fully_qualified=False))
+ buf.write(": ")
+ buf.write(next_up._get_message())
+ else:
+ lines = traceback.format_exception_only(type(next_up), next_up)
+ for i, line in enumerate(lines):
+ buf.write(indent_text * active_indent)
+ if line.endswith("\n"):
+ # We'll add our own newlines on...
+ line = line[0:-1]
+ buf.write(line)
+ if i + 1 != len(lines):
+ buf.write(os.linesep)
+ if not isinstance(next_up, CausedByException):
+ # Don't go deeper into non-caused-by exceptions... as we
+ # don't know if there exception 'cause' attributes are even
+ # useable objects...
+ break
+ active_indent += indent
+ next_up = getattr(next_up, 'cause', None)
+ return buf.getvalue()
def raise_with_cause(exc_cls, message, *args, **kwargs):
@@ -40,7 +115,8 @@
inspected/retained on py2.x to get *similar* information as would be
automatically included/obtainable in py3.x.
- :param exc_cls: the exception class to raise.
+ :param exc_cls: the exception class to raise (typically one derived
+ from :py:class:`.CausedByException` or equivalent).
:param message: the text/str message that will be passed to
the exceptions constructor as its first positional
argument.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo_utils/reflection.py new/oslo.utils-2.4.0/oslo_utils/reflection.py
--- old/oslo.utils-2.1.0/oslo_utils/reflection.py 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo_utils/reflection.py 2015-08-24 23:35:55.000000000 +0200
@@ -30,7 +30,7 @@
_BUILTIN_MODULES = ('builtins', '__builtin__', '__builtins__', 'exceptions')
-def _get_members(obj, exclude_hidden):
+def get_members(obj, exclude_hidden=True):
"""Yields the members of an object, filtering by hidden/not hidden."""
for (name, value) in inspect.getmembers(obj):
if name.startswith("_") and exclude_hidden:
@@ -40,7 +40,8 @@
def get_member_names(obj, exclude_hidden=True):
"""Get all the member names for a object."""
- return [name for (name, _obj) in _get_members(obj, exclude_hidden)]
+ return [name for (name, _obj) in
+ get_members(obj, exclude_hidden=exclude_hidden)]
def get_class_name(obj, fully_qualified=True):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo_utils/tests/test_excutils.py new/oslo.utils-2.4.0/oslo_utils/tests/test_excutils.py
--- old/oslo.utils-2.1.0/oslo_utils/tests/test_excutils.py 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo_utils/tests/test_excutils.py 2015-08-24 23:35:55.000000000 +0200
@@ -25,6 +25,41 @@
mox = moxstubout.mox
+class Fail1(excutils.CausedByException):
+ pass
+
+
+class Fail2(excutils.CausedByException):
+ pass
+
+
+class CausedByTest(test_base.BaseTestCase):
+
+ def test_caused_by_explicit(self):
+ e = self.assertRaises(Fail1,
+ excutils.raise_with_cause,
+ Fail1, "I was broken",
+ cause=Fail2("I have been broken"))
+ self.assertIsInstance(e.cause, Fail2)
+ e_p = e.pformat()
+ self.assertIn("I have been broken", e_p)
+ self.assertIn("Fail2", e_p)
+
+ def test_caused_by_implicit(self):
+
+ def raises_chained():
+ try:
+ raise Fail2("I have been broken")
+ except Fail2:
+ excutils.raise_with_cause(Fail1, "I was broken")
+
+ e = self.assertRaises(Fail1, raises_chained)
+ self.assertIsInstance(e.cause, Fail2)
+ e_p = e.pformat()
+ self.assertIn("I have been broken", e_p)
+ self.assertIn("Fail2", e_p)
+
+
class SaveAndReraiseTest(test_base.BaseTestCase):
def test_save_and_reraise_exception(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo_utils/tests/test_reflection.py new/oslo.utils-2.4.0/oslo_utils/tests/test_reflection.py
--- old/oslo.utils-2.1.0/oslo_utils/tests/test_reflection.py 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo_utils/tests/test_reflection.py 2015-08-24 23:35:55.000000000 +0200
@@ -50,6 +50,14 @@
pass
+class TestObject(object):
+ def _hello(self):
+ pass
+
+ def hi(self):
+ pass
+
+
class Class(object):
def method(self, c, d):
@@ -74,6 +82,29 @@
pass
+class MemberGetTest(test_base.BaseTestCase):
+ def test_get_members_exclude_hidden(self):
+ obj = TestObject()
+ members = list(reflection.get_members(obj, exclude_hidden=True))
+ self.assertEqual(1, len(members))
+
+ def test_get_members_no_exclude_hidden(self):
+ obj = TestObject()
+ members = list(reflection.get_members(obj, exclude_hidden=False))
+ self.assertGreater(len(members), 1)
+
+ def test_get_members_names_exclude_hidden(self):
+ obj = TestObject()
+ members = list(reflection.get_member_names(obj, exclude_hidden=True))
+ self.assertEqual(["hi"], members)
+
+ def test_get_members_names_no_exclude_hidden(self):
+ obj = TestObject()
+ members = list(reflection.get_member_names(obj, exclude_hidden=False))
+ members = [member for member in members if not member.startswith("__")]
+ self.assertEqual(["_hello", "hi"], sorted(members))
+
+
class CallbackEqualityTest(test_base.BaseTestCase):
def test_different_simple_callbacks(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/oslo_utils/timeutils.py new/oslo.utils-2.4.0/oslo_utils/timeutils.py
--- old/oslo.utils-2.1.0/oslo_utils/timeutils.py 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/oslo_utils/timeutils.py 2015-08-24 23:35:55.000000000 +0200
@@ -23,13 +23,7 @@
from debtcollector import removals
import iso8601
-try:
- from monotonic import monotonic as now # noqa
-except RuntimeError:
- try:
- now = time.monotonic
- except AttributeError:
- now = time.time
+from monotonic import monotonic as now # noqa
from pytz import timezone
import six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/requirements.txt new/oslo.utils-2.4.0/requirements.txt
--- old/oslo.utils-2.1.0/requirements.txt 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/requirements.txt 2015-08-24 23:35:55.000000000 +0200
@@ -7,12 +7,12 @@
# adding a new feature to oslo.utils means adding a new dependency,
# that is a likely indicator that the feature belongs somewhere else.
-pbr<2.0,>=1.3
+pbr<2.0,>=1.4
Babel>=1.3
six>=1.9.0
iso8601>=0.1.9
oslo.i18n>=1.5.0 # Apache-2.0
-monotonic>=0.1 # Apache-2.0
+monotonic>=0.3 # Apache-2.0
pytz>=2013.6
netaddr>=0.7.12
netifaces>=0.10.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/test-requirements.txt new/oslo.utils-2.4.0/test-requirements.txt
--- old/oslo.utils-2.1.0/test-requirements.txt 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/test-requirements.txt 2015-08-24 23:35:55.000000000 +0200
@@ -10,7 +10,7 @@
testrepository>=0.0.18
testscenarios>=0.4
testtools>=1.4.0
-oslotest>=1.7.0 # Apache-2.0
+oslotest>=1.10.0 # Apache-2.0
# when we can require tox>= 1.4, this can go into tox.ini:
# [testenv:cover]
@@ -25,4 +25,4 @@
mock>=1.2
# used for oslotest cross-testing scripts
-oslo.config>=1.11.0 # Apache-2.0
+oslo.config>=2.1.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.utils-2.1.0/tox.ini new/oslo.utils-2.4.0/tox.ini
--- old/oslo.utils-2.1.0/tox.ini 2015-07-27 21:59:09.000000000 +0200
+++ new/oslo.utils-2.4.0/tox.ini 2015-08-24 23:35:55.000000000 +0200
@@ -29,11 +29,8 @@
commands = python setup.py testr --coverage --testr-args='{posargs}'
[flake8]
-# H803 skipped on purpose per list discussion.
-# E123, E125 skipped as they are invalid PEP-8.
-
+ignore = E123,H405
show-source = True
-ignore = E123,E125,H302,H304,H405,H803
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,__init__.py
[testenv:pip-missing-reqs]
1
0
Hello community,
here is the log from the commit of package python-oslo.service for openSUSE:Factory checked in at 2015-09-09 20:20:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.service (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.service.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.service"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.service/python-oslo.service.changes 2015-09-02 07:54:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.service.new/python-oslo.service.changes 2015-09-09 20:20:55.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Sep 3 19:33:04 UTC 2015 - tbechtold(a)suse.com
+
+- update to 0.9.0:
+ * Handling corner cases in dynamic looping call
+ * Change DEBUG log in loopingcall to TRACE level log
+ * Updated from global requirements
+ * Added wsgi functionality
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
Old:
----
oslo.service-0.7.0.tar.gz
New:
----
oslo.service-0.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.service.spec ++++++
--- /var/tmp/diff_new_pack.oDP1Dr/_old 2015-09-09 20:20:55.000000000 +0200
+++ /var/tmp/diff_new_pack.oDP1Dr/_new 2015-09-09 20:20:55.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-oslo.service
-Version: 0.7.0
+Version: 0.9.0
Release: 0
Summary: Oslo service library
License: Apache-2.0
@@ -28,14 +28,20 @@
BuildRequires: python-devel
BuildRequires: python-pbr
Requires: python-Babel >= 1.3
+Requires: python-Paste
+Requires: python-PasteDeploy >= 1.5.0
+Requires: python-Routes >= 1.12.3
+Requires: python-WebOb >= 1.2.3
Requires: python-eventlet >= 0.17.4
Requires: python-greenlet >= 0.3.2
Requires: python-monotonic >= 0.3
Requires: python-oslo.concurrency >= 2.3.0
-Requires: python-oslo.config >= 2.1.0
+Requires: python-oslo.config >= 2.3.0
Requires: python-oslo.i18n >= 1.5.0
+Requires: python-oslo.log >= 1.8.0
Requires: python-oslo.utils >= 2.0.0
Requires: python-six >= 1.9.0
+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
++++++ oslo.service-0.7.0.tar.gz -> oslo.service-0.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/AUTHORS new/oslo.service-0.9.0/AUTHORS
--- old/oslo.service-0.7.0/AUTHORS 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/AUTHORS 2015-09-01 20:39:42.000000000 +0200
@@ -73,6 +73,7 @@
Soren Hansen <soren(a)linux2go.dk>
Steve Martinelli <stevemar(a)ca.ibm.com>
Steven Hardy <shardy(a)redhat.com>
+Surojit Pathak <suro(a)yahoo-inc.com>
Thomas Herve <thomas.herve(a)enovance.com>
Tianhua Huang <huangtianhua(a)huawei.com>
Tom Cammann <tom.cammann(a)hp.com>
@@ -81,6 +82,7 @@
Zhongyue Luo <zhongyue.nah(a)intel.com>
fujioka yuuichi <fujioka-yuuichi(a)zx.mxh.nes.nec.co.jp>
gongysh <gongysh(a)cn.ibm.com>
+liu-sheng <liusheng(a)huawei.com>
liyingjun <yingjun.li(a)kylin-cloud.com>
ravikumar-venkatesan <ravikumar.venkatesan(a)hp.com>
stanzgy <stanzgy(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/ChangeLog new/oslo.service-0.9.0/ChangeLog
--- old/oslo.service-0.7.0/ChangeLog 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/ChangeLog 2015-09-01 20:39:41.000000000 +0200
@@ -1,6 +1,18 @@
CHANGES
=======
+0.9.0
+-----
+
+* Handling corner cases in dynamic looping call
+* Change DEBUG log in loopingcall to TRACE level log
+* Updated from global requirements
+
+0.8.0
+-----
+
+* Added wsgi functionality
+
0.7.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/PKG-INFO new/oslo.service-0.9.0/PKG-INFO
--- old/oslo.service-0.7.0/PKG-INFO 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/PKG-INFO 2015-09-01 20:39:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.service
-Version: 0.7.0
+Version: 0.9.0
Summary: oslo.service library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/doc/source/usage.rst new/oslo.service-0.9.0/doc/source/usage.rst
--- old/oslo.service-0.7.0/doc/source/usage.rst 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/doc/source/usage.rst 2015-09-01 20:39:05.000000000 +0200
@@ -58,6 +58,9 @@
* :func:`oslo.service.sslutils <oslo_service.sslutils.list_opts>`
The options from the sslutils module for the [ssl] section.
+* :func:`oslo.service.wsgi <oslo_service.wsgi.list_opts>`
+ The options from the wsgi module for the [DEFAULT] section.
+
**ATTENTION:** The library doesn't provide an oslo.service entry point.
.. code-block:: bash
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo.service.egg-info/PKG-INFO new/oslo.service-0.9.0/oslo.service.egg-info/PKG-INFO
--- old/oslo.service-0.7.0/oslo.service.egg-info/PKG-INFO 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/oslo.service.egg-info/PKG-INFO 2015-09-01 20:39:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.service
-Version: 0.7.0
+Version: 0.9.0
Summary: oslo.service library
Home-page: http://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo.service.egg-info/SOURCES.txt new/oslo.service-0.9.0/oslo.service.egg-info/SOURCES.txt
--- old/oslo.service-0.7.0/oslo.service.egg-info/SOURCES.txt 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/oslo.service.egg-info/SOURCES.txt 2015-09-01 20:39:42.000000000 +0200
@@ -51,6 +51,7 @@
oslo_service/sslutils.py
oslo_service/systemd.py
oslo_service/threadgroup.py
+oslo_service/wsgi.py
oslo_service/tests/__init__.py
oslo_service/tests/base.py
oslo_service/tests/eventlet_service.py
@@ -59,4 +60,9 @@
oslo_service/tests/test_periodic.py
oslo_service/tests/test_service.py
oslo_service/tests/test_systemd.py
-oslo_service/tests/test_threadgroup.py
\ No newline at end of file
+oslo_service/tests/test_threadgroup.py
+oslo_service/tests/test_wsgi.py
+oslo_service/tests/ssl_cert/ca.crt
+oslo_service/tests/ssl_cert/ca.key
+oslo_service/tests/ssl_cert/certificate.crt
+oslo_service/tests/ssl_cert/privatekey.key
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo.service.egg-info/entry_points.txt new/oslo.service-0.9.0/oslo.service.egg-info/entry_points.txt
--- old/oslo.service-0.7.0/oslo.service.egg-info/entry_points.txt 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/oslo.service.egg-info/entry_points.txt 2015-09-01 20:39:42.000000000 +0200
@@ -2,4 +2,5 @@
oslo.service.periodic_task = oslo_service.periodic_task:list_opts
oslo.service.service = oslo_service.service:list_opts
oslo.service.sslutils = oslo_service.sslutils:list_opts
+oslo.service.wsgi = oslo_service.wsgi:list_opts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo.service.egg-info/pbr.json new/oslo.service-0.9.0/oslo.service.egg-info/pbr.json
--- old/oslo.service-0.7.0/oslo.service.egg-info/pbr.json 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/oslo.service.egg-info/pbr.json 2015-09-01 20:39:42.000000000 +0200
@@ -1 +1 @@
-{"is_release": true, "git_version": "ae46422"}
\ No newline at end of file
+{"is_release": true, "git_version": "fad5b04"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo.service.egg-info/requires.txt new/oslo.service-0.9.0/oslo.service.egg-info/requires.txt
--- old/oslo.service-0.7.0/oslo.service.egg-info/requires.txt 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/oslo.service.egg-info/requires.txt 2015-09-01 20:39:42.000000000 +0200
@@ -1,9 +1,19 @@
Babel>=1.3
+WebOb>=1.2.3
eventlet>=0.17.4
greenlet>=0.3.2
-monotonic>=0.3 # Apache-2.0
-oslo.utils>=2.0.0 # Apache-2.0
-oslo.concurrency>=2.3.0 # Apache-2.0
-oslo.config>=2.1.0 # Apache-2.0
+monotonic>=0.3
+oslo.utils>=2.0.0
+oslo.concurrency>=2.3.0
+oslo.config>=2.3.0
+oslo.log>=1.8.0
six>=1.9.0
-oslo.i18n>=1.5.0 # Apache-2.0
+oslo.i18n>=1.5.0
+PasteDeploy>=1.5.0
+Paste
+
+[:(python_version!='2.7')]
+Routes!=2.0,>=1.12.3
+
+[:(python_version=='2.7')]
+Routes!=2.0,!=2.1,>=1.12.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/_options.py new/oslo.service-0.9.0/oslo_service/_options.py
--- old/oslo.service-0.7.0/oslo_service/_options.py 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/oslo_service/_options.py 2015-09-01 20:39:05.000000000 +0200
@@ -41,6 +41,42 @@
'options when starting a service (at DEBUG level).'),
]
+wsgi_opts = [
+ cfg.StrOpt('api_paste_config',
+ default="api-paste.ini",
+ help='File name for the paste.deploy config for api service'),
+ cfg.StrOpt('wsgi_log_format',
+ default='%(client_ip)s "%(request_line)s" status: '
+ '%(status_code)s len: %(body_length)s time:'
+ ' %(wall_seconds).7f',
+ help='A python format string that is used as the template to '
+ 'generate log lines. The following values can be'
+ 'formatted into it: client_ip, date_time, request_line, '
+ 'status_code, body_length, wall_seconds.'),
+ cfg.IntOpt('tcp_keepidle',
+ default=600,
+ help="Sets the value of TCP_KEEPIDLE in seconds for each "
+ "server socket. Not supported on OS X."),
+ cfg.IntOpt('wsgi_default_pool_size',
+ default=1000,
+ help="Size of the pool of greenthreads used by wsgi"),
+ cfg.IntOpt('max_header_line',
+ default=16384,
+ help="Maximum line size of message headers to be accepted. "
+ "max_header_line may need to be increased when using "
+ "large tokens (typically those generated by the "
+ "Keystone v3 API with big service catalogs)."),
+ cfg.BoolOpt('wsgi_keep_alive',
+ default=True,
+ help="If False, closes the client socket connection "
+ "explicitly."),
+ cfg.IntOpt('client_socket_timeout', default=900,
+ help="Timeout for client connections' socket operations. "
+ "If an incoming connection is idle for this number of "
+ "seconds it will be closed. A value of '0' means "
+ "wait forever."),
+ ]
+
ssl_opts = [
cfg.StrOpt('ca_file',
help="CA certificate file to use to verify "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/loopingcall.py new/oslo.service-0.9.0/oslo_service/loopingcall.py
--- old/oslo.service-0.7.0/oslo_service/loopingcall.py 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/oslo_service/loopingcall.py 2015-09-01 20:39:05.000000000 +0200
@@ -15,11 +15,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-import logging
import sys
from eventlet import event
from eventlet import greenthread
+from oslo_log import log as logging
from oslo_utils import excutils
from oslo_utils import reflection
from oslo_utils import timeutils
@@ -115,7 +115,7 @@
if not self._running:
break
idle = idle_for_func(result, watch.elapsed())
- LOG.debug('%(kind)s %(func_name)r sleeping '
+ LOG.trace('%(kind)s %(func_name)r sleeping '
'for %(idle).02f seconds',
{'func_name': func_name, 'idle': idle,
'kind': kind})
@@ -166,6 +166,10 @@
_RUN_ONLY_ONE_MESSAGE = _("A dynamic interval looping call can only run"
" one function at a time")
+ _TASK_MISSING_SLEEP_VALUE_MESSAGE = _(
+ "A dynamic interval looping call should supply either an"
+ " interval or periodic_interval_max"
+ )
_KIND = _('Dynamic interval looping call')
@@ -173,9 +177,20 @@
stop_on_exception=True):
def _idle_for(suggested_delay, elapsed):
delay = suggested_delay
- if periodic_interval_max is not None:
- delay = min(delay, periodic_interval_max)
+ if delay is None:
+ if periodic_interval_max is not None:
+ delay = periodic_interval_max
+ else:
+ # Note(suro-patz): An application used to receive a
+ # TypeError thrown from eventlet layer, before
+ # this RuntimeError was introduced.
+ raise RuntimeError(
+ self._TASK_MISSING_SLEEP_VALUE_MESSAGE)
+ else:
+ if periodic_interval_max is not None:
+ delay = min(delay, periodic_interval_max)
return delay
+
return self._start(_idle_for, initial_delay=initial_delay,
stop_on_exception=stop_on_exception)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/ca.crt new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/ca.crt
--- old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/ca.crt 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/ca.crt 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,40 @@
+-----BEGIN CERTIFICATE-----
+MIIHADCCBOigAwIBAgIJAOjPGLL9VDhjMA0GCSqGSIb3DQEBDQUAMIGwMQswCQYD
+VQQGEwJVUzEOMAwGA1UECBMFVGV4YXMxDzANBgNVBAcTBkF1c3RpbjEdMBsGA1UE
+ChMUT3BlblN0YWNrIEZvdW5kYXRpb24xHTAbBgNVBAsTFE9wZW5TdGFjayBEZXZl
+bG9wZXJzMRAwDgYDVQQDEwdUZXN0IENBMTAwLgYJKoZIhvcNAQkBFiFvcGVuc3Rh
+Y2stZGV2QGxpc3RzLm9wZW5zdGFjay5vcmcwHhcNMTUwMTA4MDIyOTEzWhcNMjUw
+MTA4MDIyOTEzWjCBsDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMQ8wDQYD
+VQQHEwZBdXN0aW4xHTAbBgNVBAoTFE9wZW5TdGFjayBGb3VuZGF0aW9uMR0wGwYD
+VQQLExRPcGVuU3RhY2sgRGV2ZWxvcGVyczEQMA4GA1UEAxMHVGVzdCBDQTEwMC4G
+CSqGSIb3DQEJARYhb3BlbnN0YWNrLWRldkBsaXN0cy5vcGVuc3RhY2sub3JnMIIC
+IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwILIMebpHYK1E1zhyi6713GG
+TQ9DFeLOE1T25+XTJqAkO7efQzZfB8QwCXy/8bmbhmKgQQ7APuuDci8SKCkYeWCx
+qJRGmg0tZVlj5gCfrV2u+olwS+XyaOGCFkYScs6D34BaE2rGD2GDryoSPc2feAt6
+X4+ZkDPZnvaHQP6j9Ofq/4WmsECEas0IO5X8SDF8afA47U9ZXFkcgQK6HCHDcokL
+aaZxEyZFSaPex6ZAESNthkGOxEThRPxAkJhqYCeMl3Hff98XEUcFNzuAOmcnQJJg
+RemwJO2hS5KS3Y3p9/nBRlh3tSAG1nbY5kXSpyaq296D9x/esnXlt+9JUmn1rKyv
+maFBC/SbzyyQoO3MT5r8rKte0bulLw1bZOZNlhxSv2KCg5RD6vlNrnpsZszw4nj2
+8fBroeFp0JMeT8jcqGs3qdm8sXLcBgiTalLYtiCNV9wZjOduQotuFN6mDwZvfa6h
+zZjcBNfqeLyTEnFb5k6pIla0wydWx/jvBAzoxOkEcVjak747A+p/rriD5hVUBH0B
+uNaWcEgKe9jcHnLvU8hUxFtgPxUHOOR+eMa+FS3ApKf9sJ/zVUq0uxyA9hUnsvnq
+v/CywLSvaNKBiKQTL0QLEXnw6EQb7g/XuwC5mmt+l30wGh9M1U/QMaU/+YzT4sVL
+TXIHJ7ExRTbEecbNbjsCAwEAAaOCARkwggEVMB0GA1UdDgQWBBQTWz2WEB0sJg9c
+xfM5JeJMIAJq0jCB5QYDVR0jBIHdMIHagBQTWz2WEB0sJg9cxfM5JeJMIAJq0qGB
+tqSBszCBsDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMQ8wDQYDVQQHEwZB
+dXN0aW4xHTAbBgNVBAoTFE9wZW5TdGFjayBGb3VuZGF0aW9uMR0wGwYDVQQLExRP
+cGVuU3RhY2sgRGV2ZWxvcGVyczEQMA4GA1UEAxMHVGVzdCBDQTEwMC4GCSqGSIb3
+DQEJARYhb3BlbnN0YWNrLWRldkBsaXN0cy5vcGVuc3RhY2sub3JnggkA6M8Ysv1U
+OGMwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQ0FAAOCAgEAIfAD6uVorT5WomG1
+2DWRm3kuwa+EDimgVF6VRvxCzyHx7e/6KJQj149KpMQ6e0ZPjqQw+pZ+jJSgq6TP
+MEjCHgIDwdKhi9LmQWIlo8xdzgfZW2VQkVLvwkqAnWWhCy9oGc/Ypk8pjiZfCx+/
+DSJBbFnopI9f8epAKMq7N3jJyEMoTctzmI0KckrZnJ1Gq4MZpoxGmkJiGhWoUk8p
+r8apXZ6B1DzO1XxpGw2BIcrUC3bQS/vPrg5/XbyaAu2BSgu6iF7ULqkBsEd0yK/L
+i2gO9eTacaX3zJBQOlMJFsIAgIiVw6Rq6BuhU9zxDoopY4feta/NDOpk1OjY3MV7
+4rcLTU6XYaItMDRe+dmjBOK+xspsaCU4kHEkA7mHL5YZhEEWLHj6QY8tAiIQMVQZ
+RuTpQIbNkjLW8Ls+CbwL2LkUFB19rKu9tFpzEJ1IIeFmt5HZsL5ri6W2qkSPIbIe
+Qq15kl/a45jgBbgn2VNA5ecjW20hhXyaS9AKWXK+AeFBaFIFDUrB2UP4YSDbJWUJ
+0LKe+QuumXdl+iRdkgb1Tll7qme8gXAeyzVGHK2AsaBg+gkEeSyVLRKIixceyy+3
+6yqlKJhk2qeV3ceOfVm9ZdvRlzWyVctaTcGIpDFqf4y8YyVhL1e2KGKcmYtbLq+m
+rtku4CM3HldxcM4wqSB1VcaTX8o=
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/ca.key new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/ca.key
--- old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/ca.key 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/ca.key 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJJwIBAAKCAgEAwILIMebpHYK1E1zhyi6713GGTQ9DFeLOE1T25+XTJqAkO7ef
+QzZfB8QwCXy/8bmbhmKgQQ7APuuDci8SKCkYeWCxqJRGmg0tZVlj5gCfrV2u+olw
+S+XyaOGCFkYScs6D34BaE2rGD2GDryoSPc2feAt6X4+ZkDPZnvaHQP6j9Ofq/4Wm
+sECEas0IO5X8SDF8afA47U9ZXFkcgQK6HCHDcokLaaZxEyZFSaPex6ZAESNthkGO
+xEThRPxAkJhqYCeMl3Hff98XEUcFNzuAOmcnQJJgRemwJO2hS5KS3Y3p9/nBRlh3
+tSAG1nbY5kXSpyaq296D9x/esnXlt+9JUmn1rKyvmaFBC/SbzyyQoO3MT5r8rKte
+0bulLw1bZOZNlhxSv2KCg5RD6vlNrnpsZszw4nj28fBroeFp0JMeT8jcqGs3qdm8
+sXLcBgiTalLYtiCNV9wZjOduQotuFN6mDwZvfa6hzZjcBNfqeLyTEnFb5k6pIla0
+wydWx/jvBAzoxOkEcVjak747A+p/rriD5hVUBH0BuNaWcEgKe9jcHnLvU8hUxFtg
+PxUHOOR+eMa+FS3ApKf9sJ/zVUq0uxyA9hUnsvnqv/CywLSvaNKBiKQTL0QLEXnw
+6EQb7g/XuwC5mmt+l30wGh9M1U/QMaU/+YzT4sVLTXIHJ7ExRTbEecbNbjsCAwEA
+AQKCAgA0ySd/l2NANkDUaFl5CMt0zaoXoyGv9Jqw7lEtUPVO2AZXYYgH8/amuIK7
+dztiWpRsisqKTDMmjYljW8jMvkf5sCvGn7GkOAzEh3g+7tjZvqBmDh1+kjSf0YXL
++bbBSCMcu6L3RAW+3ewvsYeC7sjVL8CER2nCApWfYtW/WpM2agkju0/zcB1e841Y
+WU3ttbP5kGbrmyBTlBOexFKnuBJRa4Z3l63VpF7HTGmfsNRMXrx/XaZ55rEmK0zA
+2SoB55ZDSHQSKee3UxP5CxWj7fjzWa+QO/2Sgp4BjNU8btdCqXb3hPZ98aQuVjQv
+H+Ic9xtOYnso3dJAeNdeUfx23psAHhUqYruD+xrjwTJV5viGO05AHjp/i4dKjOaD
+CMFKP/AGUcGAsL/Mjq5oMbWovbqhGaaOw4I0Xl/JuB0XQXWwr5D2cLUjMaCS9bLq
+WV8lfEitoCVihAi21s8MIyQWHvl4m4d/aD5KNh0MJYo3vYCrs6A256dhbmlEmGBr
+DY1++4yxz4YkY07jYbQYkDlCtwu51g+YE8lKAE9+Mz+PDgbRB7dgw7K3Q9SsXp1P
+ui7/vnrgqppnYm4aaHvXEZ1qwwt2hpoumhQo/k1xrSzVKQ83vjzjXoDc9o84Vsv2
+dmcLGKPpu+cm2ks8q6x2EI09dfkJjb/7N9SpU0AOjU7CgDye0QKCAQEA5/mosLuC
+vXwh5FkJuV/wpipwqkS4vu+KNQiN83wdz+Yxw6siAz6/SIjr0sRmROop6CNCaBNq
+887+mgm62rEe5eU4vHRlBOlYQD0qa+il09uwYPU0JunSOabxUCBhSuW/LXZyq7rA
+ywGB7OVSTWwgb6Y0X1pUcOXK5qYaWJUdUEi2oVrU160phbDAcZNH+vAyl+IRJmVJ
+LP7f1QwVrnIvIBgpIvPLRigagn84ecXPITClq4KjGNy2Qq/iarEwY7llFG10xHmK
+xbzQ8v5XfPZ4Swmp+35kwNhfp6HRVWV3RftX4ftFArcFGYEIActItIz10rbLJ+42
+fc8oZKq/MB9NlwKCAQEA1HLOuODXrFsKtLaQQzupPLpdyfYWR7A6tbghH5paKkIg
+A+BSO/b91xOVx0jN2lkxe0Ns1QCpHZU8BXZ9MFCaZgr75z0+vhIRjrMTXXirlray
+1mptar018j79sDJLFBF8VQFfi7Edd3OwB2dbdDFJhzNUbNJIVkVo+bXYfuWGlotG
+EVWxX/CnPgnKknl6vX/8YSg6qJCwcUTmQRoqermd02VtrMrGgytcOG6QdKYTT/ct
+b3zDNXdeLOJKyLZS1eW4V2Pcl4Njbaxq/U7KYkjWWZzVVsiCjWA8H0RXGf+Uk9Gu
+cUg5hm5zxXcOGdI6yRVxHEU7CKc25Ks5xw4xPkhA/QKCAQBd7yC6ABQe+qcWul9P
+q2PdRY49xHozBvimJQKmN/oyd3prS18IhV4b1yX3QQRQn6m8kJqRXluOwqEiaxI5
+AEQMv9dLqK5HYN4VlS8aZyjPM0Sm3mPx5fj0038f/RyooYPauv4QQB1VlxSvguTi
+6QfxbhIDEqbi2Ipi/5vnhupJ2kfp6sgJVdtcgYhL9WHOYXl7O1XKgHUzPToSIUSe
+USp4CpCN0L7dd9vUQAP0e382Z2aOnuXAaY98TZCXt4xqtWYS8Ye5D6Z8D8tkuk1f
+Esb/S7iDWFkgJf4F+Wa099NmiTK7FW6KfOYZv8AoSdL1GadpXg/B6ZozM7Gdoe6t
+Y9+dAoIBABH2Rv4gnHuJEwWmbdoRYESvKSDbOpUDFGOq1roaTcdG4fgR7kH9pwaZ
+NE+uGyF76xAV6ky0CphitrlrhDgiiHtaMGQjrHtbgbqD7342pqNOfR5dzzR4HOiH
+ZOGRzwE6XT2+qPphljE0SczGc1gGlsXklB3DRbRtl+uM8WoBM/jke58ZlK6c5Tb8
+kvEBblw5Rvhb82GvIgvhnGoisTbBHNPzvmseldwfPWPUDUifhgB70I6diM+rcP3w
+gAwqRiSpkIVq/wqcZDqwmjcigz/+EolvFiaJO2iCm3K1T3v2PPSmhM41Ig/4pLcs
+UrfiK3A27OJMBCq+IIkC5RasX4N5jm0CggEAXT9oyIO+a7ggpfijuba0xuhFwf+r
+NY49hx3YshWXX5T3LfKZpTh+A1vjGcj57MZacRcTkFQgHVcyu+haA9lI4vsFMesU
+9GqenrJNvxsV4i3avIxGjjx7d0Ok/7UuawTDuRea8m13se/oJOl5ftQK+ZoVqtO8
+SzeNNpakiuCxmIEqaD8HUwWvgfA6n0HPJNc0vFAqu6Y5oOr8GDHd5JoKA8Sb15N9
+AdFqwCbW9SqUVsvHDuiOKXy8lCr3OiuyjgBfbIyuuWbaU0PqIiKW++lTluXkl7Uz
+vUawgfgX85sY6A35g1O/ydEQw2+h2tzDvQdhhyTYpMZjZwzIIPjCQMgHPA==
+-----END RSA PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/certificate.crt new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/certificate.crt
--- old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/certificate.crt 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/certificate.crt 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,41 @@
+-----BEGIN CERTIFICATE-----
+MIIHHjCCBQagAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBsDELMAkGA1UEBhMCVVMx
+DjAMBgNVBAgTBVRleGFzMQ8wDQYDVQQHEwZBdXN0aW4xHTAbBgNVBAoTFE9wZW5T
+dGFjayBGb3VuZGF0aW9uMR0wGwYDVQQLExRPcGVuU3RhY2sgRGV2ZWxvcGVyczEQ
+MA4GA1UEAxMHVGVzdCBDQTEwMC4GCSqGSIb3DQEJARYhb3BlbnN0YWNrLWRldkBs
+aXN0cy5vcGVuc3RhY2sub3JnMB4XDTE1MDEwODAyNTQzNVoXDTI1MDEwODAyNTQz
+NVoweDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMQ8wDQYDVQQHEwZBdXN0
+aW4xHTAbBgNVBAoTFE9wZW5TdGFjayBGb3VuZGF0aW9uMR0wGwYDVQQLExRPcGVu
+U3RhY2sgRGV2ZWxvcGVyczEKMAgGA1UEAxQBKjCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBANBJtvyhMKBn397hE7x9Ce/Ny+4ENQfr9VrHuvGNCR3W/uUb
+QafdNdZCYNAGPrq2T3CEYK0IJxZjr2HuTcSK9StBMFauTeIPqVUVkO3Tjq1Rkv+L
+np/e6DhHkjCU6Eq/jIw3ic0QoxLygTybGxXgJgVoBzGsJufzOQ14tfkzGeGyE3L5
+z5DpCNQqWLWF7soMx3kM5hBm+LWeoiBPjmsEXQY+UYiDlSLW/6I855X/wwDW5+Ot
+P6/1lWUfcyAyIqj3t0pmxZeY7xQnabWjhXT2dTK+dlwRjb77w665AgeF1R5lpTvU
+yT1aQwgH1kd9GeQbkBDwWSVLH9boPPgdMLtX2ipUgQAAEhIOUWXOYZVHVNXhV6Cr
+jAgvfdF39c9hmuXovPP24ikW4L+d5RPE7Vq9KJ4Uzijw9Ghu4lQQCRZ8SCNZIYJn
+Tz53+6fs93WwnnEPto9tFRKeNWt3jx/wjluDFhhBTZO4snNIq9xnCYSEQAIsRBVW
+Ahv7LqWLigUy7a9HMIyi3tQEZN9NCDy4BNuJDu33XWLLVMwNrIiR5mdCUFoRKt/E
++YPj7bNlzZMTSGLoBFPM71Lnfym9HazHDE1KxvT4gzYMubK4Y07meybiL4QNvU08
+ITgFU6DAGob+y/GHqw+bmez5y0F/6FlyV+SiSrbVEEtzp9Ewyrxb85OJFK0tAgMB
+AAGjggF4MIIBdDBLBgNVHREERDBCgglsb2NhbGhvc3SCDWlwNi1sb2NhbGhvc3SC
+CTEyNy4wLjAuMYIDOjoxhwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMB0GA1UdDgQW
+BBSjWxD0qedj9eeGUWyGphy5PU67dDCB5QYDVR0jBIHdMIHagBQTWz2WEB0sJg9c
+xfM5JeJMIAJq0qGBtqSBszCBsDELMAkGA1UEBhMCVVMxDjAMBgNVBAgTBVRleGFz
+MQ8wDQYDVQQHEwZBdXN0aW4xHTAbBgNVBAoTFE9wZW5TdGFjayBGb3VuZGF0aW9u
+MR0wGwYDVQQLExRPcGVuU3RhY2sgRGV2ZWxvcGVyczEQMA4GA1UEAxMHVGVzdCBD
+QTEwMC4GCSqGSIb3DQEJARYhb3BlbnN0YWNrLWRldkBsaXN0cy5vcGVuc3RhY2su
+b3JnggkA6M8Ysv1UOGMwCQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAN
+BgkqhkiG9w0BAQ0FAAOCAgEAIGx/acXQEiGYFBJUduE6/Y6LBuHEVMcj0yfbLzja
+Eb35xKWHuX7tgQPwXy6UGlYM8oKIptIp/9eEuYXte6u5ncvD7e/JldCUVd0fW8hm
+fBOhfqVstcTmlfZ6WqTJD6Bp/FjUH+8qf8E+lsjNy7i0EsmcQOeQm4mkocHG1AA4
+MEeuDg33lV6XCjW450BoZ/FTfwZSuTlGgFlEzUUrAe/ETdajF9G9aJ+0OvXzE1tU
+pvbvkU8eg4pLXxrzboOhyQMEmCikdkMYjo/0ZQrXrrJ1W8mCinkJdz6CToc7nUkU
+F8tdAY0rKMEM8SYHngMJU2943lpGbQhE5B4oms8I+SMTyCVz2Vu5I43Px68Y0GUN
+Bn5qu0w2Vj8eradoPF8pEAIVICIvlbiRepPbNZ7FieSsY2TEfLtxBd2DLE1YWeE5
+p/RDBxqcDrGQuSg6gFSoLEhYgQcGnYgD75EIE8f/LrHFOAeSYEOhibFbK5G8p/2h
+EHcKZ9lvTgqwHn0FiTqZ3LWxVFsZiTsiyXErpJ2Nu2WTzo0k1xJMUpJqHuUZraei
+N5fA5YuDp2ShXRoZyVieRvp0TCmm6sHL8Pn0K8weJchYrvV1yvPKeuISN/fVCQev
+88yih5Rh5R2szwoY3uVImpd99bMm0e1bXrQug43ZUz9rC4ABN6+lZvuorDWRVI7U
+I1M=
+-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/privatekey.key new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/privatekey.key
--- old/oslo.service-0.7.0/oslo_service/tests/ssl_cert/privatekey.key 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/tests/ssl_cert/privatekey.key 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIJKAIBAAKCAgEA0Em2/KEwoGff3uETvH0J783L7gQ1B+v1Wse68Y0JHdb+5RtB
+p9011kJg0AY+urZPcIRgrQgnFmOvYe5NxIr1K0EwVq5N4g+pVRWQ7dOOrVGS/4ue
+n97oOEeSMJToSr+MjDeJzRCjEvKBPJsbFeAmBWgHMawm5/M5DXi1+TMZ4bITcvnP
+kOkI1CpYtYXuygzHeQzmEGb4tZ6iIE+OawRdBj5RiIOVItb/ojznlf/DANbn460/
+r/WVZR9zIDIiqPe3SmbFl5jvFCdptaOFdPZ1Mr52XBGNvvvDrrkCB4XVHmWlO9TJ
+PVpDCAfWR30Z5BuQEPBZJUsf1ug8+B0wu1faKlSBAAASEg5RZc5hlUdU1eFXoKuM
+CC990Xf1z2Ga5ei88/biKRbgv53lE8TtWr0onhTOKPD0aG7iVBAJFnxII1khgmdP
+Pnf7p+z3dbCecQ+2j20VEp41a3ePH/COW4MWGEFNk7iyc0ir3GcJhIRAAixEFVYC
+G/supYuKBTLtr0cwjKLe1ARk300IPLgE24kO7fddYstUzA2siJHmZ0JQWhEq38T5
+g+Pts2XNkxNIYugEU8zvUud/Kb0drMcMTUrG9PiDNgy5srhjTuZ7JuIvhA29TTwh
+OAVToMAahv7L8YerD5uZ7PnLQX/oWXJX5KJKttUQS3On0TDKvFvzk4kUrS0CAwEA
+AQKCAgAkdpMrPMi3fBfL+9kpqTYhHgTyYRgrj9o/DzIh8U/EQowS7aebzHUNUkeC
+g2Vd6GaVywblo8S7/a2JVl+U5cKv1NSyiAcoaRd6xrC9gci7fMlgJUAauroqiBUG
+njrgQxJGxb5BAQWbXorTYk/mj3v4fFKuFnYlKwY03on020ZPpY4UFbmJo9Ig2lz3
+QkAgbQZKocBw5KXrnZ7CS0siXvwuCKDbZjWoiLzt2P2t2712myizSfQZSMPjlRLh
+cwVwURVsV/uFY4ePHqs52iuV40N3I7KywXvwEEEciFTbnklF7gN0Kvcj33ZWpJCV
+qUfsEAsze/APQEyNodBymyGZ2nJdn9PqaQYnVhE9xpjiXejQHZsuMnrA3jYr8Mtx
+j0EZiX4ICI4Njt9oI/EtWhQtcDt86hTEtBlyFRU6jhW8O5Ai7hzxCYgUJ7onWVOE
+PtCC9FoOwumXWgdZNz/hMqQSn91O8trferccdUGIfx8N/G4QkyzOLI0Hc6Mubby7
++GGRwVXnLsIGxpFc+VBHY/J6offCkXx3MPbfn57x0LGZu1GtHoep391yLUrBs9jx
+nJrUI9OuwaeOG0iesTuGT+PbZWxDrJEtA7DRM1FBMNMvn5BTTg7yx8EqUM35hnFf
+5J1XEf0DW5nUPH1Qadgi1LZjCAhiD5OuNooFsTmN7dSdleF+PQKCAQEA7jq7drTu
+O1ePCO+dQeECauy1qv9SO2LIHfLZ/L4OwcEtEnE8xBbvrZfUqkbUITCS6rR8UITp
+6ru0MyhUEsRsk4FHIJV2P1pB2Zy+8tV4Dm3aHh4bCoECqAPHMgXUkP+9kIOn2QsE
+uRXnsEiQAl0SxSTcduy5F+WIWLVl4A72ry3cSvrEGwMEz0sjaEMmCZ2B8X8EJt64
+uWUSHDaAMSg80bADy3p+OhmWMGZTDl/KRCz9pJLyICMxsotfbvE0BadAZr+UowSe
+ldqKlgRYlYL3pAhwjeMO/QxmMfRxjvG09romqe0Bcs8BDNII/ShAjjHQUwxcEszQ
+P14g8QwmTQVm5wKCAQEA39M3GveyIhX6vmyR4DUlxE5+yloTACdlCZu6wvFlRka8
+3FEw8DWKVfnmYYFt/RPukYeBRmXwqLciGSly7PnaBXeNFqNXiykKETzS2UISZoqT
+Dur06GmcI+Lk1my9v5gLB1LT/D8XWjwmjA5hNO1J1UYmp+X4dgaYxWzOKBsTTJ8j
+SVaEaxBUwLHy58ehoQm+G5+QqL5yU/n1hPwXx1XYvd33OscSGQRbALrH2ZxsqxMZ
+yvNa2NYt3TnihXcF36Df5861DTNI7NDqpY72C4U8RwaqgTdDkD+t8zrk/r3LUa5d
+NGkGQF+59spBcb64IPZ4DuJ9//GaEsyj0jPF/FTMywKCAQEA1DiB83eumjKf+yfq
+AVv/GV2RYKleigSvnO5QfrSY1MXP7xPtPAnqrcwJ6T57jq2E04zBCcG92BwqpUAR
+1T4iMy0BPeenlTxEWSUnfY/pCYGWwymykSLoSOBEvS0wdZM9PdXq2pDUPkVjRkj9
+8P0U0YbK1y5+nOkfE1dVT8pEuz2xdyH5PM7to/SdsC3RXtNvhMDP5AiYqp99CKEM
+hb4AoBOa7dNLS1qrzqX4618uApnJwqgdBcAUb6d09pHs8/RQjLeyI57j3z72Ijnw
+6A/pp7jU+7EAEzDOgUXvO5Xazch61PmLRsldeBxLYapQB9wcZz8lbqICCdFCqzlV
+jVt4lQKCAQA9CYxtfj7FrNjENTdSvSufbQiGhinIUPXsuNslbk7/6yp1qm5+Exu2
+dn+s927XJShZ52oJmKMYX1idJACDP1+FPiTrl3+4I2jranrVZH9AF2ojF0/SUXqT
+Drz4/I6CQSRAywWkNFBZ+y1H5GP92vfXgVnpT32CMipXLGTL6xZIPt2QkldqGvoB
+0oU7T+Vz1QRS5CC+47Cp1fBuY5DYe0CwBmf1T3RP/jAS8tytK0s3G+5cuiB8IWxA
+eBid7OddJLHqtSQKhYHNkutqWqIeYicd92Nn+XojTDpTqivojDl1/ObN9BYQWAqO
+knlmW2w7EPuMk5doxKoPll7WY+gJ99YhAoIBAHf5HYRh4ZuYkx+R1ow8/Ahp7N4u
+BGFRNnCpMG358Zws95wvBg5dkW8VU0M3256M0kFkw2AOyyyNsHqIhMNakzHesGo/
+TWhqCh23p1xBLY5p14K8K6iOc1Jfa1LqGsL2TZ06TeNNyONMGqq0yOyD62CdLRDj
+0ACL/z2j494LmfqhV45hYuqjQbrLizjrr6ln75g2WJ32U+zwl7KUHnBL7IEwb4Be
+KOl1bfVwZAs0GtHuaiScBYRLUaSC/Qq7YPjTh1nmg48DQC/HUCNGMqhoZ950kp9k
+76HX+MpwUi5y49moFmn/3qDvefGFpX1td8vYMokx+eyKTXGFtxBUwPnMUSQ=
+-----END RSA PRIVATE KEY-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/test_loopingcall.py new/oslo.service-0.9.0/oslo_service/tests/test_loopingcall.py
--- old/oslo.service-0.7.0/oslo_service/tests/test_loopingcall.py 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/oslo_service/tests/test_loopingcall.py 2015-09-01 20:39:05.000000000 +0200
@@ -192,6 +192,30 @@
timer = loopingcall.DynamicLoopingCall(self._wait_for_zero)
self.assertFalse(timer.start().wait())
+ def _timeout_task_without_any_return(self):
+ pass
+
+ def test_timeout_task_without_return_and_max_periodic(self):
+ timer = loopingcall.DynamicLoopingCall(
+ self._timeout_task_without_any_return
+ )
+ self.assertRaises(RuntimeError, timer.start().wait)
+
+ def _timeout_task_without_return_but_with_done(self):
+ if self.num_runs == 0:
+ raise loopingcall.LoopingCallDone(False)
+ else:
+ self.num_runs = self.num_runs - 1
+
+ @mock.patch('eventlet.greenthread.sleep')
+ def test_timeout_task_without_return(self, sleep_mock):
+ self.num_runs = 1
+ timer = loopingcall.DynamicLoopingCall(
+ self._timeout_task_without_return_but_with_done
+ )
+ timer.start(periodic_interval_max=5).wait()
+ sleep_mock.assert_has_calls([mock.call(5)])
+
@mock.patch('eventlet.greenthread.sleep')
def test_interval_adjustment(self, sleep_mock):
self.num_runs = 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/tests/test_wsgi.py new/oslo.service-0.9.0/oslo_service/tests/test_wsgi.py
--- old/oslo.service-0.7.0/oslo_service/tests/test_wsgi.py 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/tests/test_wsgi.py 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,369 @@
+# Copyright 2011 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""Unit tests for `wsgi`."""
+
+import os.path
+import platform
+import socket
+import tempfile
+import testtools
+
+import eventlet
+import eventlet.wsgi
+import mock
+import requests
+import webob
+
+from oslo_config import cfg
+from oslo_config import fixture as config
+from oslo_service import _options
+from oslo_service import sslutils
+from oslo_service import wsgi
+from oslo_utils import netutils
+from oslotest import base as test_base
+from oslotest import moxstubout
+
+
+SSL_CERT_DIR = os.path.normpath(os.path.join(
+ os.path.dirname(os.path.abspath(__file__)),
+ 'ssl_cert'))
+CONF = cfg.CONF
+
+
+class WsgiTestCase(test_base.BaseTestCase):
+ """Base class for WSGI tests."""
+
+ def setUp(self):
+ super(WsgiTestCase, self).setUp()
+ self.conf_fixture = self.useFixture(config.Config())
+ self.conf_fixture.register_opts(_options.wsgi_opts)
+ self.conf = self.conf_fixture.conf
+ self.config = self.conf_fixture.config
+ self.conf(args=[], default_config_files=[])
+
+
+class TestLoaderNothingExists(WsgiTestCase):
+ """Loader tests where os.path.exists always returns False."""
+
+ def setUp(self):
+ super(TestLoaderNothingExists, self).setUp()
+ mox_fixture = self.useFixture(moxstubout.MoxStubout())
+ self.stubs = mox_fixture.stubs
+ self.stubs.Set(os.path, 'exists', lambda _: False)
+
+ def test_relpath_config_not_found(self):
+ self.config(api_paste_config='api-paste.ini')
+ self.assertRaises(
+ wsgi.ConfigNotFound,
+ wsgi.Loader,
+ self.conf
+ )
+
+ def test_asbpath_config_not_found(self):
+ self.config(api_paste_config='/etc/openstack-srv/api-paste.ini')
+ self.assertRaises(
+ wsgi.ConfigNotFound,
+ wsgi.Loader,
+ self.conf
+ )
+
+
+class TestLoaderNormalFilesystem(WsgiTestCase):
+ """Loader tests with normal filesystem (unmodified os.path module)."""
+
+ _paste_config = """
+[app:test_app]
+use = egg:Paste#static
+document_root = /tmp
+ """
+
+ def setUp(self):
+ super(TestLoaderNormalFilesystem, self).setUp()
+ self.paste_config = tempfile.NamedTemporaryFile(mode="w+t")
+ self.paste_config.write(self._paste_config.lstrip())
+ self.paste_config.seek(0)
+ self.paste_config.flush()
+
+ self.config(api_paste_config=self.paste_config.name)
+ self.loader = wsgi.Loader(CONF)
+
+ def test_config_found(self):
+ self.assertEqual(self.paste_config.name, self.loader.config_path)
+
+ def test_app_not_found(self):
+ self.assertRaises(
+ wsgi.PasteAppNotFound,
+ self.loader.load_app,
+ "nonexistent app",
+ )
+
+ def test_app_found(self):
+ url_parser = self.loader.load_app("test_app")
+ self.assertEqual("/tmp", url_parser.directory)
+
+ def tearDown(self):
+ self.paste_config.close()
+ super(TestLoaderNormalFilesystem, self).tearDown()
+
+
+class TestWSGIServer(WsgiTestCase):
+ """WSGI server tests."""
+
+ def setUp(self):
+ super(TestWSGIServer, self).setUp()
+
+ def test_no_app(self):
+ server = wsgi.Server(self.conf, "test_app", None)
+ self.assertEqual("test_app", server.name)
+
+ def test_custom_max_header_line(self):
+ self.config(max_header_line=4096) # Default value is 16384
+ wsgi.Server(self.conf, "test_custom_max_header_line", None)
+ self.assertEqual(self.conf.max_header_line,
+ eventlet.wsgi.MAX_HEADER_LINE)
+
+ def test_start_random_port(self):
+ server = wsgi.Server(self.conf, "test_random_port", None,
+ host="127.0.0.1", port=0)
+ server.start()
+ self.assertNotEqual(0, server.port)
+ server.stop()
+ server.wait()
+
+ @testtools.skipIf(not netutils.is_ipv6_enabled(), "no ipv6 support")
+ def test_start_random_port_with_ipv6(self):
+ server = wsgi.Server(self.conf, "test_random_port", None,
+ host="::1", port=0)
+ server.start()
+ self.assertEqual("::1", server.host)
+ self.assertNotEqual(0, server.port)
+ server.stop()
+ server.wait()
+
+ @testtools.skipIf(platform.mac_ver()[0] != '',
+ 'SO_REUSEADDR behaves differently '
+ 'on OSX, see bug 1436895')
+ def test_socket_options_for_simple_server(self):
+ # test normal socket options has set properly
+ self.config(tcp_keepidle=500)
+ server = wsgi.Server(self.conf, "test_socket_options", None,
+ host="127.0.0.1", port=0)
+ server.start()
+ sock = server._socket
+ self.assertEqual(1, sock.getsockopt(socket.SOL_SOCKET,
+ socket.SO_REUSEADDR))
+ self.assertEqual(1, sock.getsockopt(socket.SOL_SOCKET,
+ socket.SO_KEEPALIVE))
+ if hasattr(socket, 'TCP_KEEPIDLE'):
+ self.assertEqual(self.conf.tcp_keepidle,
+ sock.getsockopt(socket.IPPROTO_TCP,
+ socket.TCP_KEEPIDLE))
+ self.assertFalse(server._server.dead)
+ server.stop()
+ server.wait()
+ self.assertTrue(server._server.dead)
+
+ def test_server_pool_waitall(self):
+ # test pools waitall method gets called while stopping server
+ server = wsgi.Server(self.conf, "test_server", None, host="127.0.0.1")
+ server.start()
+ with mock.patch.object(server._pool,
+ 'waitall') as mock_waitall:
+ server.stop()
+ server.wait()
+ mock_waitall.assert_called_once_with()
+
+ def test_uri_length_limit(self):
+ eventlet.monkey_patch(os=False, thread=False)
+ server = wsgi.Server(self.conf, "test_uri_length_limit", None,
+ host="127.0.0.1", max_url_len=16384, port=33337)
+ server.start()
+ self.assertFalse(server._server.dead)
+
+ uri = "http://127.0.0.1:%d/%s" % (server.port, 10000 * 'x')
+ resp = requests.get(uri, proxies={"http": ""})
+ eventlet.sleep(0)
+ self.assertNotEqual(resp.status_code,
+ requests.codes.REQUEST_URI_TOO_LARGE)
+
+ uri = "http://127.0.0.1:%d/%s" % (server.port, 20000 * 'x')
+ resp = requests.get(uri, proxies={"http": ""})
+ eventlet.sleep(0)
+ self.assertEqual(resp.status_code,
+ requests.codes.REQUEST_URI_TOO_LARGE)
+ server.stop()
+ server.wait()
+
+ def test_reset_pool_size_to_default(self):
+ server = wsgi.Server(self.conf, "test_resize", None,
+ host="127.0.0.1", max_url_len=16384)
+ server.start()
+
+ # Stopping the server, which in turn sets pool size to 0
+ server.stop()
+ self.assertEqual(server._pool.size, 0)
+
+ # Resetting pool size to default
+ server.reset()
+ server.start()
+ self.assertEqual(server._pool.size, CONF.wsgi_default_pool_size)
+
+ def test_client_socket_timeout(self):
+ self.config(client_socket_timeout=5)
+
+ # mocking eventlet spawn method to check it is called with
+ # configured 'client_socket_timeout' value.
+ with mock.patch.object(eventlet,
+ 'spawn') as mock_spawn:
+ server = wsgi.Server(self.conf, "test_app", None,
+ host="127.0.0.1", port=0)
+ server.start()
+ _, kwargs = mock_spawn.call_args
+ self.assertEqual(self.conf.client_socket_timeout,
+ kwargs['socket_timeout'])
+ server.stop()
+
+ def test_wsgi_keep_alive(self):
+ self.config(wsgi_keep_alive=False)
+
+ # mocking eventlet spawn method to check it is called with
+ # configured 'wsgi_keep_alive' value.
+ with mock.patch.object(eventlet,
+ 'spawn') as mock_spawn:
+ server = wsgi.Server(self.conf, "test_app", None,
+ host="127.0.0.1", port=0)
+ server.start()
+ _, kwargs = mock_spawn.call_args
+ self.assertEqual(self.conf.wsgi_keep_alive,
+ kwargs['keepalive'])
+ server.stop()
+
+
+class TestWSGIServerWithSSL(WsgiTestCase):
+ """WSGI server with SSL tests."""
+
+ def setUp(self):
+ super(TestWSGIServerWithSSL, self).setUp()
+ self.conf_fixture.register_opts(_options.ssl_opts,
+ sslutils.config_section)
+ cert_file_name = os.path.join(SSL_CERT_DIR, 'certificate.crt')
+ key_file_name = os.path.join(SSL_CERT_DIR, 'privatekey.key')
+ eventlet.monkey_patch(os=False, thread=False)
+
+ self.config(cert_file=cert_file_name,
+ key_file=key_file_name,
+ group=sslutils.config_section)
+
+ def test_ssl_server(self):
+ def test_app(env, start_response):
+ start_response('200 OK', {})
+ return ['PONG']
+
+ fake_ssl_server = wsgi.Server(self.conf, "fake_ssl", test_app,
+ host="127.0.0.1", port=0, use_ssl=True)
+ fake_ssl_server.start()
+ self.assertNotEqual(0, fake_ssl_server.port)
+
+ cli = eventlet.connect(("localhost", fake_ssl_server.port))
+ ca_certs_name = os.path.join(SSL_CERT_DIR, 'ca.crt')
+ cli = eventlet.wrap_ssl(cli, ca_certs=ca_certs_name)
+
+ cli.write('POST / HTTP/1.1\r\nHost: localhost\r\n'
+ 'Connection: close\r\nContent-length:4\r\n\r\nPING')
+ response = cli.read(8192)
+ self.assertEqual(response[-4:], "PONG")
+
+ fake_ssl_server.stop()
+ fake_ssl_server.wait()
+
+ def test_two_servers(self):
+ def test_app(env, start_response):
+ start_response('200 OK', {})
+ return ['PONG']
+
+ fake_ssl_server = wsgi.Server(self.conf, "fake_ssl", test_app,
+ host="127.0.0.1", port=0, use_ssl=True)
+ fake_ssl_server.start()
+ self.assertNotEqual(0, fake_ssl_server.port)
+
+ fake_server = wsgi.Server(self.conf, "fake", test_app,
+ host="127.0.0.1", port=0)
+ fake_server.start()
+ self.assertNotEqual(0, fake_server.port)
+
+ cli = eventlet.connect(("localhost", fake_ssl_server.port))
+ cli = eventlet.wrap_ssl(cli,
+ ca_certs=os.path.join(SSL_CERT_DIR, 'ca.crt'))
+
+ cli.write('POST / HTTP/1.1\r\nHost: localhost\r\n'
+ 'Connection: close\r\nContent-length:4\r\n\r\nPING')
+ response = cli.read(8192)
+ self.assertEqual(response[-4:], "PONG")
+
+ cli = eventlet.connect(("localhost", fake_server.port))
+
+ cli.sendall('POST / HTTP/1.1\r\nHost: localhost\r\n'
+ 'Connection: close\r\nContent-length:4\r\n\r\nPING')
+ response = cli.recv(8192)
+ self.assertEqual(response[-4:], "PONG")
+
+ fake_ssl_server.stop()
+ fake_ssl_server.wait()
+
+ @testtools.skipIf(platform.mac_ver()[0] != '',
+ 'SO_REUSEADDR behaves differently '
+ 'on OSX, see bug 1436895')
+ def test_socket_options_for_ssl_server(self):
+ # test normal socket options has set properly
+ self.config(tcp_keepidle=500)
+ server = wsgi.Server(self.conf, "test_socket_options", None,
+ host="127.0.0.1", port=0, use_ssl=True)
+ server.start()
+ sock = server._socket
+ self.assertEqual(1, sock.getsockopt(socket.SOL_SOCKET,
+ socket.SO_REUSEADDR))
+ self.assertEqual(1, sock.getsockopt(socket.SOL_SOCKET,
+ socket.SO_KEEPALIVE))
+ if hasattr(socket, 'TCP_KEEPIDLE'):
+ self.assertEqual(CONF.tcp_keepidle,
+ sock.getsockopt(socket.IPPROTO_TCP,
+ socket.TCP_KEEPIDLE))
+ server.stop()
+ server.wait()
+
+ @testtools.skipIf(not netutils.is_ipv6_enabled(), "no ipv6 support")
+ def test_app_using_ipv6_and_ssl(self):
+ greetings = 'Hello, World!!!'
+
+ @webob.dec.wsgify
+ def hello_world(req):
+ return greetings
+
+ server = wsgi.Server(self.conf, "fake_ssl",
+ hello_world,
+ host="::1",
+ port=0,
+ use_ssl=True)
+
+ server.start()
+
+ response = requests.get('https://[::1]:%d/' % server.port,
+ verify=os.path.join(SSL_CERT_DIR, 'ca.crt'))
+ self.assertEqual(greetings, response.text)
+
+ server.stop()
+ server.wait()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/oslo_service/wsgi.py new/oslo.service-0.9.0/oslo_service/wsgi.py
--- old/oslo.service-0.7.0/oslo_service/wsgi.py 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.service-0.9.0/oslo_service/wsgi.py 2015-09-01 20:39:05.000000000 +0200
@@ -0,0 +1,318 @@
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# Copyright 2010 OpenStack Foundation
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""Utility methods for working with WSGI servers."""
+
+from __future__ import print_function
+
+import copy
+import os
+import socket
+
+import eventlet
+import eventlet.wsgi
+import greenlet
+from paste import deploy
+import routes.middleware
+import webob.dec
+import webob.exc
+
+from oslo_log import log as logging
+from oslo_service import _options
+from oslo_service import sslutils
+from oslo_service._i18n import _, _LE, _LI
+
+
+LOG = logging.getLogger(__name__)
+
+
+def list_opts():
+ """Entry point for oslo-config-generator."""
+ return [(None, copy.deepcopy(_options.wsgi_opts))]
+
+
+class InvalidInput(Exception):
+ message = _("Invalid input received: "
+ "Unexpected argument for periodic task creation: %(arg)s.")
+
+
+class Server(object):
+ """Server class to manage a WSGI server, serving a WSGI application."""
+
+ def __init__(self, conf, name, app, host='0.0.0.0', port=0, pool_size=None,
+ protocol=eventlet.wsgi.HttpProtocol, backlog=128,
+ use_ssl=False, max_url_len=None):
+ """Initialize, but do not start, a WSGI server.
+
+ :param name: Pretty name for logging.
+ :param app: The WSGI application to serve.
+ :param host: IP address to serve the application.
+ :param port: Port number to server the application.
+ :param pool_size: Maximum number of eventlets to spawn concurrently.
+ :param backlog: Maximum number of queued connections.
+ :param max_url_len: Maximum length of permitted URLs.
+ :returns: None
+ :raises: InvalidInput
+ """
+
+ self.conf = conf
+ self.conf.register_opts(_options.wsgi_opts)
+
+ self.default_pool_size = self.conf.wsgi_default_pool_size
+
+ # Allow operators to customize http requests max header line size.
+ eventlet.wsgi.MAX_HEADER_LINE = conf.max_header_line
+ self.name = name
+ self.app = app
+ self._server = None
+ self._protocol = protocol
+ self.pool_size = pool_size or self.default_pool_size
+ self._pool = eventlet.GreenPool(self.pool_size)
+ self._logger = logging.getLogger("eventlet.wsgi.server")
+ self._use_ssl = use_ssl
+ self._max_url_len = max_url_len
+ self.client_socket_timeout = conf.client_socket_timeout or None
+ self.default_pool_size = conf.wsgi_default_pool_size
+
+ if backlog < 1:
+ raise InvalidInput(reason='The backlog must be more than 0')
+
+ bind_addr = (host, port)
+ # TODO(dims): eventlet's green dns/socket module does not actually
+ # support IPv6 in getaddrinfo(). We need to get around this in the
+ # future or monitor upstream for a fix
+ try:
+ info = socket.getaddrinfo(bind_addr[0],
+ bind_addr[1],
+ socket.AF_UNSPEC,
+ socket.SOCK_STREAM)[0]
+ family = info[0]
+ bind_addr = info[-1]
+ except Exception:
+ family = socket.AF_INET
+
+ if self._use_ssl:
+ sslutils.is_enabled(conf)
+
+ try:
+ self._socket = eventlet.listen(bind_addr, family, backlog=backlog)
+ except EnvironmentError:
+ LOG.error(_LE("Could not bind to %(host)s:%(port)s"),
+ {'host': host, 'port': port})
+ raise
+
+ (self.host, self.port) = self._socket.getsockname()[0:2]
+ LOG.info(_LI("%(name)s listening on %(host)s:%(port)s"),
+ {'name': self.name, 'host': self.host, 'port': self.port})
+
+ def start(self):
+ """Start serving a WSGI application.
+
+ :returns: None
+ """
+ # The server socket object will be closed after server exits,
+ # but the underlying file descriptor will remain open, and will
+ # give bad file descriptor error. So duplicating the socket object,
+ # to keep file descriptor usable.
+
+ self.dup_socket = self._socket.dup()
+
+ self.dup_socket = self._set_socket_opts(self.dup_socket)
+
+ if self._use_ssl:
+ self.dup_socket = sslutils.wrap(self.conf, self.dup_socket)
+
+ wsgi_kwargs = {
+ 'func': eventlet.wsgi.server,
+ 'sock': self.dup_socket,
+ 'site': self.app,
+ 'protocol': self._protocol,
+ 'custom_pool': self._pool,
+ 'log': self._logger,
+ 'log_format': self.conf.wsgi_log_format,
+ 'debug': False,
+ 'keepalive': self.conf.wsgi_keep_alive,
+ 'socket_timeout': self.client_socket_timeout
+ }
+
+ if self._max_url_len:
+ wsgi_kwargs['url_length_limit'] = self._max_url_len
+
+ self._server = eventlet.spawn(**wsgi_kwargs)
+
+ def _set_socket_opts(self, _socket):
+ _socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ # sockets can hang around forever without keepalive
+ _socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
+
+ # This option isn't available in the OS X version of eventlet
+ if hasattr(socket, 'TCP_KEEPIDLE'):
+ _socket.setsockopt(socket.IPPROTO_TCP,
+ socket.TCP_KEEPIDLE,
+ self.conf.tcp_keepidle)
+
+ return _socket
+
+ def reset(self):
+ """Reset server greenpool size to default.
+
+ :returns: None
+
+ """
+ self._pool.resize(self.pool_size)
+
+ def stop(self):
+ """Stops eventlet server. Doesn't allow accept new connecting.
+
+ :returns: None
+
+ """
+ LOG.info(_LI("Stopping WSGI server."))
+
+ if self._server is not None:
+ # let eventlet close socket
+ self._pool.resize(0)
+ self._server.kill()
+
+ def wait(self):
+ """Block, until the server has stopped.
+
+ Waits on the server's eventlet to finish, then returns.
+
+ :returns: None
+
+ """
+ try:
+ if self._server is not None:
+ num = self._pool.running()
+ LOG.debug("Waiting WSGI server to finish %d requests.", num)
+ self._pool.waitall()
+ except greenlet.GreenletExit:
+ LOG.info(_LI("WSGI server has stopped."))
+
+
+class Request(webob.Request):
+ pass
+
+
+class Router(object):
+ """WSGI middleware that maps incoming requests to WSGI apps."""
+
+ def __init__(self, mapper):
+ """Create a router for the given routes.Mapper.
+
+ Each route in `mapper` must specify a 'controller', which is a
+ WSGI app to call. You'll probably want to specify an 'action' as
+ well and have your controller be an object that can route
+ the request to the action-specific method.
+
+ Examples:
+ mapper = routes.Mapper()
+ sc = ServerController()
+
+ # Explicit mapping of one route to a controller+action
+ mapper.connect(None, '/svrlist', controller=sc, action='list')
+
+ # Actions are all implicitly defined
+ mapper.resource('server', 'servers', controller=sc)
+
+ # Pointing to an arbitrary WSGI app. You can specify the
+ # {path_info:.*} parameter so the target app can be handed just that
+ # section of the URL.
+ mapper.connect(None, '/v1.0/{path_info:.*}', controller=BlogApp())
+
+ """
+ self.map = mapper
+ self._router = routes.middleware.RoutesMiddleware(self._dispatch,
+ self.map)
+
+ @webob.dec.wsgify(RequestClass=Request)
+ def __call__(self, req):
+ """Route the incoming request to a controller based on self.map.
+
+ If no match, return a 404.
+
+ """
+ return self._router
+
+ @staticmethod
+ @webob.dec.wsgify(RequestClass=Request)
+ def _dispatch(req):
+ """Dispatch the request to the appropriate controller.
+
+ Called by self._router after matching the incoming request to a route
+ and putting the information into req.environ. Either returns 404
+ or the routed WSGI app's response.
+
+ """
+ match = req.environ['wsgiorg.routing_args'][1]
+ if not match:
+ return webob.exc.HTTPNotFound()
+ app = match['controller']
+ return app
+
+
+class ConfigNotFound(Exception):
+ def __init__(self, path):
+ msg = _('Could not find config at %(path)s') % {'path': path}
+ super(ConfigNotFound, self).__init__(msg)
+
+
+class PasteAppNotFound(Exception):
+ def __init__(self, name, path):
+ msg = (_("Could not load paste app '%(name)s' from %(path)s") %
+ {'name': name, 'path': path})
+ super(PasteAppNotFound, self).__init__(msg)
+
+
+class Loader(object):
+ """Used to load WSGI applications from paste configurations."""
+
+ def __init__(self, conf):
+ """Initialize the loader, and attempt to find the config.
+
+ :param conf
+ :returns: None
+
+ """
+ conf.register_opts(_options.wsgi_opts)
+ self.config_path = None
+
+ config_path = conf.api_paste_config
+ if not os.path.isabs(config_path):
+ self.config_path = conf.find_file(config_path)
+ elif os.path.exists(config_path):
+ self.config_path = config_path
+
+ if not self.config_path:
+ raise ConfigNotFound(path=config_path)
+
+ def load_app(self, name):
+ """Return the paste URLMap wrapped WSGI application.
+
+ :param name: Name of the application to load.
+ :returns: Paste URLMap object wrapping the requested application.
+ :raises: `PasteAppNotFound`
+
+ """
+ try:
+ LOG.debug("Loading app %(name)s from %(path)s",
+ {'name': name, 'path': self.config_path})
+ return deploy.loadapp("config:%s" % self.config_path, name=name)
+ except LookupError:
+ LOG.exception(_LE("Couldn't lookup app: %s"), name)
+ raise PasteAppNotFound(name=name, path=self.config_path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/requirements.txt new/oslo.service-0.9.0/requirements.txt
--- old/oslo.service-0.7.0/requirements.txt 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/requirements.txt 2015-09-01 20:39:05.000000000 +0200
@@ -3,11 +3,17 @@
# process, which may cause wedges in the gate later.
Babel>=1.3
+WebOb>=1.2.3
eventlet>=0.17.4
greenlet>=0.3.2
monotonic>=0.3 # Apache-2.0
oslo.utils>=2.0.0 # Apache-2.0
oslo.concurrency>=2.3.0 # Apache-2.0
-oslo.config>=2.1.0 # Apache-2.0
+oslo.config>=2.3.0 # Apache-2.0
+oslo.log>=1.8.0 # Apache-2.0
six>=1.9.0
oslo.i18n>=1.5.0 # Apache-2.0
+PasteDeploy>=1.5.0
+Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7'
+Routes!=2.0,>=1.12.3;python_version!='2.7'
+Paste
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/setup.cfg new/oslo.service-0.9.0/setup.cfg
--- old/oslo.service-0.7.0/setup.cfg 2015-08-18 22:23:58.000000000 +0200
+++ new/oslo.service-0.9.0/setup.cfg 2015-09-01 20:39:42.000000000 +0200
@@ -32,6 +32,7 @@
oslo.service.periodic_task = oslo_service.periodic_task:list_opts
oslo.service.service = oslo_service.service:list_opts
oslo.service.sslutils = oslo_service.sslutils:list_opts
+ oslo.service.wsgi = oslo_service.wsgi:list_opts
[build_sphinx]
source-dir = doc/source
@@ -59,7 +60,7 @@
universal = true
[egg_info]
+tag_build =
tag_svn_revision = 0
tag_date = 0
-tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.service-0.7.0/tox.ini new/oslo.service-0.9.0/tox.ini
--- old/oslo.service-0.7.0/tox.ini 2015-08-18 22:23:15.000000000 +0200
+++ new/oslo.service-0.9.0/tox.ini 2015-09-01 20:39:05.000000000 +0200
@@ -19,6 +19,16 @@
[testenv:pep8]
commands = flake8
+[testenv:py34]
+commands =
+ python -m testtools.run \
+ oslo_service.tests.test_eventlet_backdoor \
+ oslo_service.tests.test_loopingcall \
+ oslo_service.tests.test_periodic \
+ oslo_service.tests.test_service \
+ oslo_service.tests.test_systemd \
+ oslo_service.tests.test_threadgroup
+
[testenv:venv]
commands = {posargs}
1
0
Hello community,
here is the log from the commit of package python-oslo.db for openSUSE:Factory checked in at 2015-09-09 20:20:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.db (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.db.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.db"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.db/python-oslo.db.changes 2015-08-27 08:55:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.db.new/python-oslo.db.changes 2015-09-09 20:20:51.000000000 +0200
@@ -1,0 +2,25 @@
+Fri Aug 21 12:02:41 UTC 2015 - tbechtold(a)suse.com
+
+- update to 2.4.1:
+ * Assume relative revisions belong to alembic
+ * Use correct config key in alembic extension
+ * Fix exception message about unavailable backend
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Updated from global requirements
+ * Fix hacking rules and docs job
+ * Imported Translations from Transifex
+ * pagination: enhance sorting of null values
+ * Upgrade and downgrade based on revision existence
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Add JSON-encoded types for sqlalchemy
+ * Imported Translations from Transifex
+ * Python 3: Use use_unicode=1 under Python 3
+ * Imported Translations from Transifex
+ * Updated from global requirements
+ * Fix test_migrations on Python 3
+ * Improve failure mode handling in enginefacade
+- Adjust Requires according to requirements.txt
+
+-------------------------------------------------------------------
Old:
----
oslo.db-2.2.0.tar.gz
New:
----
oslo.db-2.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.db.spec ++++++
--- /var/tmp/diff_new_pack.AKtlU8/_old 2015-09-09 20:20:52.000000000 +0200
+++ /var/tmp/diff_new_pack.AKtlU8/_new 2015-09-09 20:20:52.000000000 +0200
@@ -18,7 +18,7 @@
%define component oslo_db
Name: python-oslo.db
-Version: 2.2.0
+Version: 2.4.1
Release: 0
Url: https://launchpad.net/oslo/
Summary: OpenStack DB API
@@ -33,12 +33,12 @@
BuildRequires: python-pbr
Requires: python-Babel >= 1.3
Requires: python-SQLAlchemy >= 0.9.7
-Requires: python-alembic >= 0.7.2
+Requires: python-alembic >= 0.8.0
Requires: python-iso8601 >= 0.1.9
-Requires: python-oslo.config >= 1.11.0
+Requires: python-oslo.config >= 2.1.0
Requires: python-oslo.context >= 0.2.0
Requires: python-oslo.i18n >= 1.5.0
-Requires: python-oslo.utils >= 1.6.0
+Requires: python-oslo.utils >= 2.0.0
Requires: python-psycopg2
Requires: python-six >= 1.9.0
Requires: python-sqlalchemy-migrate >= 0.9.6
@@ -72,10 +72,10 @@
Requires: python-discover
%endif
Requires: python-PyMySQL >= 0.6.2
-Requires: python-fixtures >= 0.3.14
-Requires: python-oslotest >= 1.5.1
+Requires: python-fixtures >= 1.3.1
+Requires: python-oslotest >= 1.10.0
Requires: python-python-subunit >= 0.0.18
-Requires: python-tempest-lib >= 0.5.0
+Requires: python-tempest-lib >= 0.6.1
Requires: python-testrepository >= 0.0.18
Requires: python-testscenarios >= 0.4
Requires: python-testtools >= 1.4.0
++++++ oslo.db-2.2.0.tar.gz -> oslo.db-2.4.1.tar.gz ++++++
++++ 1905 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-openstackclient for openSUSE:Factory checked in at 2015-09-09 20:20:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-openstackclient (Old)
and /work/SRC/openSUSE:Factory/.python-openstackclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-openstackclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-openstackclient/python-openstackclient.changes 2014-04-20 11:36:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-openstackclient.new/python-openstackclient.changes 2015-09-09 20:20:50.000000000 +0200
@@ -2 +2 @@
-Mon Apr 7 16:42:07 UTC 2014 - dmueller(a)suse.com
+Mon Aug 31 08:34:09 UTC 2015 - dmueller(a)suse.com
@@ -4 +4,1096 @@
-- switch to released version (0.3.1)
+- update to 1.6.0:
+ * Use correct domain to find project
+ * Updated from global requirements
+ * Skip functional test: test_server_up
+ * Remove non-existing hacking deviations from doc
+ * Update plugin documentation
+ * Add release notes for 1.6.0
+ * Add developer documentation
+ * Add --inherited to the role docs
+ * Rename command docs to remove underscores
+ * Inherited info/option when listing role assignment
+ * Alphabetize setup.cfg
+ * Add set feature to volume type v2
+ * Add list feature to volume v2
+ * Fixes inherited role assignments CRUD calls
+ * Fix quota show when there is no project id
+ * Add functional test for volume type create --property
+ * Imported Translations from Transifex
+ * Added a new function test for volume type set
+ * Introduce functional test for Identity Provider
+ * Add domain scoping in 'role assignment list'
+ * Removed unnecessary assignment of function result Joined lines together
+ * New test for configuration show --mask
+ * add new test for configuration show unmask
+ * Minor Documentation changes for code samples
+ * Set OS_VOLUME_API_VERSION before running functional tests
+ * Added test for `volume type show`
+ * Add functional tests for volume type list
+ * New test for configuration show
+ * Fix quota set failed problem
+ * Add support for volume v2 commands
+ * Add configuration show command
+ * Add plugin interface version
+ * Fix --os-auth-plugin in auth_with_unscoped_saml
+ * add doc for floatingip
+ * Fix yet more documentation warnings
+ * Make trustee/trustor/project searchable by ID
+ * Add create and list for volume type v2
+ * add image member commands for image API
+ * Fix the way auth_type default value is overriden
+ * Format volume type properties when showing
+ * Rename type.py to volume_type.py
+ * Removes trailing blank in trust show
+ * Add volume type show for volume v1
+ * --property should be required in `os unset` commands
+ * More minor docs fixes
+ * Minor identity documentation change
+ * Add functional tests server reboot
+ * Add functional tests server IP attach and detach
+ * Add details to the documentation
+ * Making --property as required when openstack flavor unset
+ * Do not set default versions in parsed args
+ * Add functional tests for servers that require wait
+ * enhance tests for user v3
+ * Remove unnecessary test extension mock
+ * Remove requirements.txt from tox.ini
+ * add functional tests for identity v3
+ * Add functional tests for volume qos
+ * Support multiple volume qos delete
+ * add functional tests for identity v2
+ * add --project-domain option for user v3
+ * only return endpoints that have url
+ * Fix the way we call find_resource when only using ID
+ * Fix image save with API v2
+ * Rename endpoint type to interface
+ * temporarily skip help tests
+ * Drop py33 support for Liberty
+ * Fix interactive password prompt
+ * Fix wrong mock method call
+ * add functional tests for identity v2
+ * Fixes modules index generated by Sphinx
+ * Fix address parsing for server ssh command
+ * openstack catalog list always returns publicURL for internalURL and adminURL
+ * Remove the --dhcp option to network list
+ * Remove testing of cliff command line options
+ * add functional tests for identity v3
+ * Add --os-endpoint-type cli optional argument
+ * Show which aggregate a hypervisor is member of
+ * Move update code from image create command
+ * Fix examples with cacert
+ * Add support for volume API v2 QoS commands
+ * Add tests for 'list' and 'show' for volume qos v1
+ * Alphabetize tests for v1 qos_specs
+ * Add docs for QoS specs
+ * No need for get_parser on QoS list
+ * Alphabetize QoS specs
+ * Add support for volume API v1 QoS commands
+ * fix confused domain argument for network create v2
+ * fix typo in network.rst
+ * Add support to inherited project role grant calls
+ * fix typo for server create in server.rst
+ * Fix typo in user.rst
+ * Update 1.4.0 release notes
+ * Refactor option handling for user|group|project domain scoping
+
+-------------------------------------------------------------------
+Mon Jul 20 20:59:02 UTC 2015 - dmueller(a)suse.com
+
+- update to 1.5.0:
+ * Add release notes for 1.5.0
+ * reference corect ec2 helper function
+ * Updated from global requirements
+ * Improve the hint message
+ * Fix the typo in `openstackclient/shell.py`
+ * Add oidc plugin for listing federation projects
+ * Skip trying to set project_domain_id if not using password
+ * Updated from global requirements
+ * Updated from global requirements
+ * Imported Translations from Transifex
+ * Include links to developer workflow documentation
+ * Enable specifying domain for group and role commands
+ * Not use the deprecated argument
+ * Create 1.4.0 release notes
+ * Updated from global requirements
+ * Add support for volume snapshot v2 command
+ * Allow --insecure to override --os-cacert
+ * Clean up ec2 credentials help text
+ * Add functional tests for volume set and unset
+ * Add domain support for ec2creds in v3 identity
+ * Add EC2 support for identity v3 API
+ * Imported Translations from Transifex
+ * Add a reference to the IRC channels
+ * Change Credentials header to Blob from data
+ * Get rid of oslo_i18n deprecation notice
+ * Fix security group list command
+ * Rework shell tests
+ * Add image functional tests
+ * Add volume functional tests
+ * Ignore cover directory from git
+ * Set tenant options on parsed namespace
+ * Add support for volume v2 API
+ * add domain scope arguments to v3 role add in doc
+ * project create is missing --parent in doc
+ * add --domain argument to v3 project set
+ * Add --wait to server delete
+ * Use ostestr for test runs
+ * Add cli tests for --verify and friends
+ * Small tweaks to osc plugin docs
+ * Fix shell tests
+ * Create 1.3.0 release notes
+ * Add support for v2 image set command
+ * Adds python-tuskarclient to list of plugins
+ * Remove oslo serialization requirement
+ * Remove oslo incubator config
+ * Add missing properties to image set command
+ * Add some comments about current plugin support
+ * Remove checks for None dates in keypair functional tests
+ * Fix client error while rescuing an instance
+ * Add support for keypair functional tests
+ * Fix insecure/verify options
+ * Use format options for functional tests
+ * Fix functional test gate
+ * Updated from global requirements
+ * Enable specifing domains in "role add"
+ * Send the correct user-agent to Keystone
+ * Updated from global requirements
+ * Security group rule delete broken
+ * Updated from global requirements
+ * Imported Translations from Transifex
+ * Don't create empty quota set requests
+ * Updated from global requirements
+ * Add os-client-config cli tests
+ * minor syntax error in tox.ini
+ * Add image show tests
+ * Minor fix to openstack image show command
+ * Create 1.2.0 release notes
+ * Fix tiny typo in comment message
+ * Minor logging/debug cleanups
+ * Redo 1.1.0 release notes
+ * Remove unique class names because they are scoped
+ * Raise exception if no session is created
+ * Reduce parameters to base class execute
+ * Functional tests run in many environments
+ * Remove references to venv
+ * Add a doc that dictates backwards incompatible changes
+ * Remove run_tests.sh
+ * Security group rule create fails
+ * Fix security group create description bug
+ * Adds support for container selection for backup
+ * Create 1.1.0 release notes
+ * Handle the pagination for image list
+ * Refactor utility to find identity resources
+ * Imported Translations from Transifex
+ * remove unnecessary conditionals
+ * Update the docs for new nic options
+ * Begin documenting --os-cloud
+ * Add --os-cloud support
+ * Imported Translations from Transifex
+ * Re-organize functional tests
+ * Role operations should not require list object permission
+ * Print warning on authentication error
+ * Fix skipped image create attribute location attr
+ * Uncap library requirements for liberty
++++ 903 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python-openstackclient/python-openstackclient.changes
++++ and /work/SRC/openSUSE:Factory/.python-openstackclient.new/python-openstackclient.changes
Old:
----
python-openstackclient-0.3.1.tar.gz
New:
----
python-openstackclient-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-openstackclient.spec ++++++
--- /var/tmp/diff_new_pack.IN7bp8/_old 2015-09-09 20:20:51.000000000 +0200
+++ /var/tmp/diff_new_pack.IN7bp8/_new 2015-09-09 20:20:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-openstackclient
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,13 +19,14 @@
%define component openstackclient
Name: python-%{component}
-Version: 0.3.1
+Version: 1.6.0
Release: 0
Summary: OpenStack Unified Command Line Client
License: Apache-2.0
Group: Development/Languages/Python
Url: http://launchpad.net/python-openstackclient
-Source: http://tarballs.openstack.org/python-openstackclient/python-openstackclient…
+Source: https://pypi.python.org/packages/source/p/python-openstackclient/python-ope…
+Source99: rpmlintrc
BuildRequires: openstack-suse-macros
BuildRequires: python-pbr >= 0.5.21
# Documentation requirements:
@@ -35,28 +36,40 @@
BuildRequires: python-discover
%endif
BuildRequires: python-Babel >= 1.3
+BuildRequires: python-cinderclient
BuildRequires: python-cliff >= 1.4.3
+BuildRequires: python-cliff-tablib >= 1.0
+BuildRequires: python-fixtures
BuildRequires: python-glanceclient >= 0.9.0
-BuildRequires: python-keyring >= 1.6.1
-BuildRequires: python-keystoneclient >= 0.3.2
+BuildRequires: python-keystoneclient
BuildRequires: python-mock >= 1.0
BuildRequires: python-mox3 >= 0.7.0
+BuildRequires: python-neutronclient
BuildRequires: python-novaclient >= 2.15.0
+BuildRequires: python-oslo.i18n
+BuildRequires: python-oslo.utils
+BuildRequires: python-oslotest
BuildRequires: python-pycrypto >= 2.6
BuildRequires: python-requests >= 1.1
-BuildRequires: python-six >= 1.4.1
+BuildRequires: python-requests-mock
+BuildRequires: python-six >= 1.7.0
BuildRequires: python-testrepository >= 0.0.17
BuildRequires: python-testtools >= 0.9.32
-Requires: python-cinderclient >= 1.0.6
-Requires: python-cliff >= 1.4.3
-Requires: python-glanceclient >= 0.9.0
-Requires: python-keyring >= 1.6.1
-Requires: python-keystoneclient >= 0.3.2
-Requires: python-novaclient >= 2.15.0
-Requires: python-pbr >= 0.5.21
-Requires: python-pycrypto >= 2.6
-Requires: python-requests >= 1.1
-Requires: python-six >= 1.4.1
+Requires: python-WebOb >= 1.2.3
+Requires: python-cinderclient >= 1.3.1
+Requires: python-cliff >= 1.14.0
+Requires: python-cliff-tablib >= 1.0
+Requires: python-glanceclient >= 0.18.0
+Requires: python-keystoneclient >= 1.6.0
+Requires: python-neutronclient >= 2.6.0
+Requires: python-novaclient >= 2.26.0
+Requires: python-oslo.config >= 1.11.0
+Requires: python-oslo.i18n >= 1.5.0
+Requires: python-pbr >= 1.4
+Requires: python-requests >= 2.5.2
+Requires: python-six >= 1.9.0
+Requires: python-stevedore >= 1.5.0
+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.IN7bp8/_old 2015-09-09 20:20:51.000000000 +0200
+++ /var/tmp/diff_new_pack.IN7bp8/_new 2015-09-09 20:20:51.000000000 +0200
@@ -5,6 +5,8 @@
<service mode="disabled" name="set_version">
<param name="basename">python-openstackclient</param>
</service>
+ <service mode="disabled" name="python_requires">
+ </service>
<service name="refresh_patches" mode="disabled">
<param name="changesgenerate">enable</param>
</service>
++++++ python-openstackclient-0.3.1.tar.gz -> python-openstackclient-1.6.0.tar.gz ++++++
++++ 59072 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package vym for openSUSE:Factory checked in at 2015-09-09 20:20:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vym (Old)
and /work/SRC/openSUSE:Factory/.vym.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vym"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vym/vym.changes 2014-09-06 17:05:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vym.new/vym.changes 2015-09-09 20:20:48.000000000 +0200
@@ -1,0 +2,35 @@
+Mon Aug 24 13:10:00 CEST 2015 - vym(a)insilmaril.de
+- Version 2.4.7
+
+-------------------------------------------------------------------
+Tue Aug 18 13:10:00 CEST 2015 - vym(a)insilmaril.de
+- Version 2.4.6
+
+-------------------------------------------------------------------
+Fri Jul 24 16:10:00 CEST 2015 - vym(a)insilmaril.de
+- Version 2.4.5
+
+-------------------------------------------------------------------
+Sun May 17 11:30:00 CET 2015 - vym(a)insilmaril.de
+- Version 2.4.3
+
+-------------------------------------------------------------------
+Tue May 05 16:30:00 CET 2015 - vym(a)insilmaril.de
+- Version 2.4.2
+
+-------------------------------------------------------------------
+Mon Oct 27 16:30:00 CET 2014 - uwedr(a)suse.de
+- Version 2.4.0
+- Update to Qt 5
+- Preliminary support of checking for updates
+ and release notes online
+
+-------------------------------------------------------------------
+Mon Oct 27 15:30:00 CEST 2014 - uwedr(a)suse.de
+- Version 2.3.24
+- Added updated translation by Pavel Fric
+- When changing sleep time of finished task, also set task state to 'WIP'.
+- Bugfix: Restore saved toolbar configuration
+- Bugfix: #65 Missing break statemens in parser
+
+-------------------------------------------------------------------
@@ -3,0 +39,6 @@
+- Version 2.3.22
+- French translation by Marc Sert
+- Feature: Improved xlinks with arrowheads
+- Feature: Task priority increases slightly with age of tasks
+- Some more includes to ease Debian packaging (by p0llux)
+- Patch to allow hardening in Debian by p0llux
@@ -31 +71,0 @@
--------------------------------------------------------------------
Old:
----
vym-2.3.24.tar.bz2
New:
----
vym-2.4.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vym.spec ++++++
--- /var/tmp/diff_new_pack.FR3FIF/_old 2015-09-09 20:20:49.000000000 +0200
+++ /var/tmp/diff_new_pack.FR3FIF/_new 2015-09-09 20:20:49.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package vym
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,14 +15,24 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
Name: vym
+
+BuildRequires: libQt5Core-devel
+BuildRequires: libQt5Gui-devel
+BuildRequires: libqt5-qtbase-devel
+#BuildRequires: libqt5-qtbase-common-devel
+BuildRequires: libqt5-qtsvg-devel
+BuildRequires: libqt5-linguist-devel
+BuildRequires: update-desktop-files
+Requires: unzip
+Requires: zip
+Url: http://www.insilmaril.de/vym/index.html
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: View Your Mind - generate and manipulate maps which show your thoughts
License: GPL-2.0
Group: Productivity/Office/Other
-Version: 2.3.24
+Version: 2.4.7
Release: 0
-Url: http://www.insilmaril.de/vym/index.html
Source0: %name-%version.tar.bz2
Source1: %name.xml
Source2: %name.desktop
@@ -30,11 +40,6 @@
Source4: debian.dirs
Source5: debian.docs
Source6: makedist.config
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: libqt4-devel
-BuildRequires: update-desktop-files
-Requires: unzip
-Requires: zip
%description
VYM (View Your Mind) is a tool to generate and manipulate maps which
@@ -43,19 +48,26 @@
tasks, to get an overview over complex contexts, to sort your ideas
etc. Some people even think it is fun to work with such maps...
+
+
+Authors:
+--------
+ Uwe Drechsel <vym(a)insilmaril.de>
+
%prep
%setup -q
%build
-qmake -o Makefile vym.pro PREFIX=%_prefix CONFIG+=RELEASE
+qmake-qt5 -o Makefile vym.pro PREFIX=%_prefix/share BINDIR=%_prefix/bin CONFIG+=RELEASE
make
-lrelease vym.pro
+lrelease-qt5 vym.pro
%install
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/vym
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/pixmaps
install -m 0644 icons/vym.png $RPM_BUILD_ROOT%{_prefix}/share/pixmaps
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
-install -m 0644 README.txt LICENSE.txt INSTALL.txt $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
+install -m 0644 README.md LICENSE.txt INSTALL.txt $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
install -m 0644 doc/*.pdf $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
%makeinstall INSTALL_ROOT=$RPM_BUILD_ROOT
@@ -83,6 +95,7 @@
/usr/share/pixmaps/*
/usr/bin/vym
/usr/share/vym
+
%doc %{_docdir}/%{name}
%doc %{_mandir}/*/*
%{_datadir}/mime/packages/vym.xml
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.FR3FIF/_old 2015-09-09 20:20:49.000000000 +0200
+++ /var/tmp/diff_new_pack.FR3FIF/_new 2015-09-09 20:20:49.000000000 +0200
@@ -1,8 +1,56 @@
+vym (2.4.7.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Mon, 24 Aug 2015 12:10:00 +0100
+
+vym (2.4.6.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Tue, 18 Aug 2015 12:10:00 +0100
+
+vym (2.4.5.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Fri, 24 Jul 2015 16:10:00 +0100
+
+vym (2.4.3.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Sun, 17 May 2015 11:30:00 +0100
+
+vym (2.4.1.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Tue, 05 May 2015 16:30:00 +0100
+
+vym (2.4.0.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Sat, 26 Apr 2015 16:30:00 +0100
+
+vym (2.4.0.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Mon, 28 Oct 2014 16:30:00 +0100
+
vym (2.3.24.1) unstable; urgency=low
* New upstream release
- -- Uwe Drechsel <vym(a)insilmaril.de> Tue, 29 Jul 2014 14:28:00 +0100
+ -- Uwe Drechsel <vym(a)insilmaril.de> Mon, 28 Jul 2014 15:00:00 +0100
+
+vym (2.3.22.1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Uwe Drechsel <vym(a)insilmaril.de> Wed, 12 Feb 2014 15:00:00 +0100
vym (2.3.20.1) unstable; urgency=low
@@ -428,4 +476,4 @@
-- Steffen Joeris <steffen.joeris(a)skolelinux.de> Thu, 4 Aug 2005 17:58:32 +0200
-
+
\ No newline at end of file
++++++ makedist.config ++++++
--- /var/tmp/diff_new_pack.FR3FIF/_old 2015-09-09 20:20:50.000000000 +0200
+++ /var/tmp/diff_new_pack.FR3FIF/_new 2015-09-09 20:20:50.000000000 +0200
@@ -1,3 +1,3 @@
-VERSION=2.3.24
-BRANCH="master"
+VERSION=2.4.7
+BRANCH="qt5"
REMOTE="sf"
++++++ vym-2.3.24.tar.bz2 -> vym-2.4.7.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/vym/vym-2.3.24.tar.bz2 /work/SRC/openSUSE:Factory/.vym.new/vym-2.4.7.tar.bz2 differ: char 11, line 1
++++++ vym.dsc ++++++
--- /var/tmp/diff_new_pack.FR3FIF/_old 2015-09-09 20:20:50.000000000 +0200
+++ /var/tmp/diff_new_pack.FR3FIF/_new 2015-09-09 20:20:50.000000000 +0200
@@ -1,9 +1,9 @@
Format: 1.0
Source: vym
-Version: 2.3.24
+Version: 2.4.0
Binary: vym
Maintainer: Uwe Drechsel <vym(a)insilmaril.de>
Architecture: any
-Build-Depends: debhelper (>= 4.1.16),g++, libqt4-dev
+Build-Depends: debhelper (>= 4.1.16),g++, libqt5-dev
Files:
- af20857e1561468436ec9e738867bc74 20140729 vym-2.3.24.tar.bz2
+ 4116086282d260056458a8b96b2d5459 20171606 vym-1.13.32.tar.bz2
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package samba for openSUSE:Factory checked in at 2015-09-09 20:20:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/samba (Old)
and /work/SRC/openSUSE:Factory/.samba.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba"
Changes:
--------
--- /work/SRC/openSUSE:Factory/samba/samba.changes 2015-08-19 13:40:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.samba.new/samba.changes 2015-09-09 20:20:43.000000000 +0200
@@ -1,0 +2,49 @@
+Tue Sep 8 16:40:50 UTC 2015 - lmuelle(a)suse.com
+
+- Update to 4.3.0.
+ + Samba "map to guest = Bad uid" doesn't work; (bso#9862).
+ + revert LDAP extended rule 1.2.840.113556.1.4.1941
+ LDAP_MATCHING_RULE_IN_CHAIN changes; (bso#10493).
+ + No objectClass found in replPropertyMetaData on ordinary objects
+ (non-deleted); (bso#10973).
+ + Stream names with colon don't work with fruit:encoding = native;
+ (bso#11278).
+ + NetApp joined to a Samba/ADDC cannot resolve SIDs; (bso#11291).
+ + tevent_fd needs to be destroyed before closing the fd; (bso#11316).
+ + "force group" with local group not working; (bso#11320).
+ + strsep is not available on Solaris; (bso#11359).
+ + smbtorture does not build when configured --with-system-mitkrb5;
+ (bso#11411).
+ + Build with GPFS support is broken; (bso#11421).
+ + Build broken with --disable-python; (bso#11424).
+ + net share allowedusers crashes; (bso#11426).
+ + nmbd incorrectly matches netbios names as own name; (bso#11427).
+ + Python bindings don't check integer types; (bso#11429).
+ + Python bindings don't check array sizes; (bso#11430).
+ + CTDB's eventscript error handling is broken; (bso#11431).
+ + Fix crash in nested ctdb banning; (bso#11432).
+ + Cannot build ctdbpmda; (bso#11434).
+ + samba-tool uncaught exception error; (bso#11436).
+ + Crash in notify_remove caused by change notify = no; (bso#11444).
+ + Poor SMB3 encryption performance with AES-GCM; (bso#11451).
+ + Poor SMB3 encryption performance with AES-GCM (part1); (bso#11451).
+ + fix recursion problem in rep_strtoll in lib/replace/replace.c; (bso#11455).
+ + --bundled-libraries=!ldb,!pyldb,!pyldb-util doesn't disable ldb build and
+ install; (bso#11458).
+ + xid2sid gives inconsistent results; (bso#11464).
+ + ctdb: Fix the build on FreeBSD 10.1; (bso#11465).
+ + Handling of 0 byte resource fork stream; (bso#11467).
+ + AD samr GetGroupsForUser fails for users with "()" in their name;
+ (bso#11488).
+
+-------------------------------------------------------------------
+Tue Sep 8 10:59:47 UTC 2015 - lmuelle(a)suse.com
+
+- Do not provide and obsolete libpdb0 from libsamba-passdb0; (bnc#942716).
+
+-------------------------------------------------------------------
+Mon Aug 31 22:34:57 UTC 2015 - lmuelle(a)suse.com
+
+- Configure with --bundled-libraries=NONE; (bso#11458).
+
+-------------------------------------------------------------------
Old:
----
samba-4.2.3.tar.asc
samba-4.2.3.tar.gz
New:
----
samba-4.3.0.tar.asc
samba-4.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ samba.spec ++++++
--- /var/tmp/diff_new_pack.fOzqJb/_old 2015-09-09 20:20:45.000000000 +0200
+++ /var/tmp/diff_new_pack.fOzqJb/_new 2015-09-09 20:20:45.000000000 +0200
@@ -122,7 +122,7 @@
BuildRequires: systemd
BuildRequires: systemd-devel
%endif
-%define samba_ver 4.2.3
+%define samba_ver 4.3.0
%define samba_ver_suffix %nil
%if "%{samba_ver_suffix}" == ""
%define samba_source_location http://ftp.samba.org/pub/samba/stable/samba-%{version}.tar.gz
@@ -144,11 +144,11 @@
%else
%define build_make_smp_mflags %{?jobs:-j%jobs}
%endif
-%define SOURCE_TIMESTAMP 3453
-%define BRANCH %{version}.SLE12_SP1
+%define SOURCE_TIMESTAMP 3465
+%define BRANCH %{version}
%global with_mitkrb5 1
%global with_dc 0
-Version: 4.2.3
+Version: 4.3.0
Release: 0
Url: http://www.samba.org/
Provides: samba-gplv3 = %{version}
@@ -762,8 +762,6 @@
Summary: Samba3 password database library
License: GPL-3.0+
Group: System/Libraries
-Provides: libpdb0
-Obsoletes: libpdb0
%description -n libsamba-passdb0
@@ -1145,6 +1143,9 @@
%if 0%{?suse_version} && 0%{?suse_version} < 1141
%{?suse_update_config:%{suse_update_config -f}}
%endif
+%if 0%{?suse_version} < 1111
+bundled_libraries_extra="libarchive"
+%endif
CONFIGURE_OPTIONS="\
--prefix=%{_prefix} \
--localstatedir=%{_localstatedir} \
@@ -1185,11 +1186,7 @@
%if ! %with_dc
--without-ad-dc \
%endif
- --bundled-libraries=!heimdal,!popt,!zlib,\
-!ldb,!pyldb,\
-!talloc,!pytalloc,!pytalloc-util,\
-!tdb,!pytdb,\
-!tevent,!pytevent \
+ --bundled-libraries=NONE,${bundled_libraries_extra} \
"
./configure ${CONFIGURE_OPTIONS}
make %{build_make_smp_mflags} \
@@ -1717,7 +1714,6 @@
%{_mandir}/man8/vfs_linux_xfs_sgid.8.*
%{_mandir}/man8/vfs_media_harmony.8.*
%{_mandir}/man8/vfs_netatalk.8.*
-%{_mandir}/man8/vfs_notify_fam.8.*
%{_mandir}/man8/vfs_prealloc.8.*
%{_mandir}/man8/vfs_preopen.8.*
%{_mandir}/man8/vfs_readahead.8.*
@@ -1734,6 +1730,7 @@
%{_mandir}/man8/vfs_syncops.8.*
%{_mandir}/man8/vfs_time_audit.8.*
%{_mandir}/man8/vfs_tsmsm.8.*
+%{_mandir}/man8/vfs_unityed_media.8.*
%{_mandir}/man8/vfs_worm.8.*
%{_mandir}/man8/vfs_xattr_tdb.8.*
%if 0%{?suse_version} && 0%{?suse_version} < 1021
@@ -1786,10 +1783,6 @@
%{_bindir}/regshell
%{_bindir}/regtree
%{_bindir}/nmbstatus
-%{_bindir}/ntdbbackup
-%{_bindir}/ntdbdump
-%{_bindir}/ntdbrestore
-%{_bindir}/ntdbtool
%{_bindir}/pdbedit
%{_bindir}/profiles
%{_bindir}/rpcclient
@@ -1832,22 +1825,16 @@
%{_mandir}/man1/smbtar.1.*
%{_mandir}/man1/smbtree.1.*
%{_mandir}/man1/testparm.1.*
-%{_mandir}/man3/ntdb.3.*
%{_mandir}/man5/lmhosts.5.*
%{_mandir}/man5/smb.conf.5.*
%{_mandir}/man5/smbgetrc.5.*
%{_mandir}/man7/samba.7.*
%{_mandir}/man8/eventlogadm.8.*
%{_mandir}/man8/net.8.*
-%{_mandir}/man8/ntdbbackup.8.*
-%{_mandir}/man8/ntdbdump.8.*
-%{_mandir}/man8/ntdbrestore.8.*
-%{_mandir}/man8/ntdbtool.8.*
%{_mandir}/man8/pdbedit.8.*
%{_mandir}/man8/samba-regedit.8.*
%{_mandir}/man8/smbpasswd.8.*
%{_mandir}/man8/smbspool.8.*
-%{_datadir}/samba/codepages
%dir %{_datadir}/samba
%dir %{_datadir}/samba/LDAP
%config %{_datadir}/samba/LDAP/samba-nds.schema
@@ -1923,6 +1910,7 @@
%_includedir/samba-4.0/tsocket_internal.h
%_includedir/samba-4.0/tstream_smbXcli_np.h
%dir %_includedir/samba-4.0/util/
+%_includedir/samba-4.0/util/genrand.h
%_includedir/samba-4.0/util/idtree.h
%_includedir/samba-4.0/util/idtree_random.h
%_includedir/samba-4.0/util_ldb.h
@@ -1933,7 +1921,6 @@
%files libs
%defattr(-,root,root)
%dir %{_libdir}/samba
-%{_libdir}/samba/libntdb.so.*
%{_libdir}/samba/libCHARSET3-samba4.so
%{_libdir}/samba/libLIBWBCLIENT-OLD-samba4.so
%{_libdir}/samba/libMESSAGING-samba4.so
@@ -1945,7 +1932,6 @@
%{_libdir}/samba/libauth-sam-reply-samba4.so
%{_libdir}/samba/libauth-unix-token-samba4.so
%{_libdir}/samba/libauthkrb5-samba4.so
-%{_libdir}/samba/libccan-samba4.so
%{_libdir}/samba/libcli-ldap-common-samba4.so
%{_libdir}/samba/libcli-ldap-samba4.so
%{_libdir}/samba/libcli-nbt-samba4.so
@@ -1955,25 +1941,28 @@
%{_libdir}/samba/libcliauth-samba4.so
%{_libdir}/samba/libcluster-samba4.so
%{_libdir}/samba/libcmdline-credentials-samba4.so
-%{_libdir}/samba/libdfs-server-ad-samba4.so
%{_libdir}/samba/libdbwrap-samba4.so
%{_libdir}/samba/libdcerpc-samba-samba4.so
%{_libdir}/samba/libdcerpc-samba4.so
-%{_libdir}/samba/libdnsserver-common-samba4.so
%{_libdir}/samba/libdsdb-module-samba4.so
%{_libdir}/samba/liberrors-samba4.so
%{_libdir}/samba/libevents-samba4.so
%{_libdir}/samba/libflag-mapping-samba4.so
+%{_libdir}/samba/libgenrand-samba4.so
%{_libdir}/samba/libgpo-samba4.so
%{_libdir}/samba/libgse-samba4.so
%{_libdir}/samba/libhttp-samba4.so
%{_libdir}/samba/libidmap-samba4.so
%{_libdir}/samba/libinterfaces-samba4.so
+%{_libdir}/samba/libiov-buf-samba4.so
%{_libdir}/samba/libkrb5samba-samba4.so
%{_libdir}/samba/libldbsamba-samba4.so
%{_libdir}/samba/liblibcli-lsa3-samba4.so
%{_libdir}/samba/liblibcli-netlogon3-samba4.so
%{_libdir}/samba/liblibsmb-samba4.so
+%{_libdir}/samba/libmessages-dgm-samba4.so
+%{_libdir}/samba/libmessages-util-samba4.so
+%{_libdir}/samba/libmsghdr-samba4.so
%{_libdir}/samba/libmsrpc3-samba4.so
%{_libdir}/samba/libndr-samba-samba4.so
%{_libdir}/samba/libndr-samba4.so
@@ -1995,6 +1984,7 @@
%{_libdir}/samba/libsamba-python-samba4.so
%{_libdir}/samba/libsamdb-common-samba4.so
%{_libdir}/samba/libsecrets3-samba4.so
+%{_libdir}/samba/libserver-id-db-samba4.so
%{_libdir}/samba/libserver-role-samba4.so
%{_libdir}/samba/libshares-samba4.so
%{_libdir}/samba/libsmb-transport-samba4.so
@@ -2005,12 +1995,12 @@
%{_libdir}/samba/libsmbpasswdparser-samba4.so
%{_libdir}/samba/libsmbregistry-samba4.so
%{_libdir}/samba/libsocket-blocking-samba4.so
-%{_libdir}/samba/libsubunit-samba4.so
+%{_libdir}/samba/libsys-rw-samba4.so
+%{_libdir}/samba/libtalloc-report-samba4.so
%{_libdir}/samba/libtdb-wrap-samba4.so
-%{_libdir}/samba/libtdb-compat-samba4.so
+%{_libdir}/samba/libtime-basic-samba4.so
%{_libdir}/samba/libtrusts-util-samba4.so
%{_libdir}/samba/libutil-cmdline-samba4.so
-%{_libdir}/samba/libutil-ntdb-samba4.so
%{_libdir}/samba/libutil-reg-samba4.so
%{_libdir}/samba/libutil-setid-samba4.so
%{_libdir}/samba/libutil-tdb-samba4.so
++++++ patches.tar.bz2 ++++++
++++ 15086 lines of diff (skipped)
++++++ samba-4.2.3.tar.gz -> samba-4.3.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/samba/samba-4.2.3.tar.gz /work/SRC/openSUSE:Factory/.samba.new/samba-4.3.0.tar.gz differ: char 5, line 1
++++++ vendor-files.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor-files/tools/package-data new/vendor-files/tools/package-data
--- old/vendor-files/tools/package-data 2015-08-08 01:27:48.000000000 +0200
+++ new/vendor-files/tools/package-data 2015-09-08 18:46:28.000000000 +0200
@@ -1,2 +1,2 @@
# This is an autogenrated file.
-SAMBA_PACKAGE_SVN_VERSION="3453"
+SAMBA_PACKAGE_SVN_VERSION="3465"
1
0
Hello community,
here is the log from the commit of package tevent-man for openSUSE:Factory checked in at 2015-09-09 20:20:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tevent-man (Old)
and /work/SRC/openSUSE:Factory/.tevent-man.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tevent-man"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="tevent" cicount="copy" />
1
0
Hello community,
here is the log from the commit of package tevent for openSUSE:Factory checked in at 2015-09-09 20:20:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tevent (Old)
and /work/SRC/openSUSE:Factory/.tevent.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tevent"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:Factory/.tevent.new/tevent-man.changes 2015-09-09 20:20:35.000000000 +0200
@@ -0,0 +1,250 @@
+-------------------------------------------------------------------
+Thu Aug 20 08:58:37 UTC 2015 - dimstar(a)opensuse.org
+
+- Create 2nd spec-file tevent-man.spec: build the man pages in a
+ separate cycle in order to avoid the follwing build cycle:
+ doxygen -> curl -> krb5-mini -> libverto -> tevent -> doxygen.
+- Recommend tevent-man for installation.
+
+-------------------------------------------------------------------
+Sat Jun 27 17:20:12 UTC 2015 - lmuelle(a)suse.com
+
+- Update to 0.9.25.
+ + Fix compile error in Solaris ports backend.
+ + Fix access after free in tevent_common_check_signal(); (bso#11308).
+ + Improve pytevent bindings.
+ + Testsuite fixes.
+ + Improve the documentation of the tevent_add_fd() assumtions. It must be
+ talloc_free'ed before closing the fd! (bso##11141); (bso#11316).
+
+-------------------------------------------------------------------
+Thu Mar 5 11:16:25 UTC 2015 - lmuelle(a)suse.com
+
+- Update to 0.9.24.
+ + Ignore unexpected signal events in the same way the epoll backend does.
+
+-------------------------------------------------------------------
+Fri Feb 27 19:36:39 UTC 2015 - lmuelle(a)suse.com
+
+- Update to 0.9.23.
+ + Update the tevent_data.dox tutrial stuff to fix some errors, including
+ white space problems.
+ + Use tevent_req_simple_recv_unix in a few places.
+
+-------------------------------------------------------------------
+Thu Nov 6 13:21:57 UTC 2014 - lmuelle(a)suse.com
+
+- Use the upstream tar ball, as signature verification is now able to handle
+ compressed archives.
+
+-------------------------------------------------------------------
+Tue Oct 28 15:45:11 UTC 2014 - lmuelle(a)suse.com
+
+- Remove dependency on gpg-offline as signature checking is implemented in the
+ source validator.
+
+-------------------------------------------------------------------
+Sun Oct 5 17:40:34 UTC 2014 - lmuelle(a)suse.com
+
+- Update to 0.9.22.
+ + remove unused exit_code in tevent_select.c
+ + remove unused exit_code in tevent_poll.c
+ + build: improve detection of srcdir
+ + lib: tevent: make TEVENT_SIG_INCREMENT atomic.
+ + Update flags in tevent pkgconfig file
+
+-------------------------------------------------------------------
+Tue Sep 23 20:41:59 UTC 2014 - lmuelle(a)suse.com
+
+- Utilize doxygen to generate the API documentation and package it.
+
+-------------------------------------------------------------------
+Mon Feb 17 22:00:55 UTC 2014 - lmuelle(a)suse.com
+
+- Update to 0.9.21.
+ + add tevent_req_set_cleanup_fn()
+ + add/use tevent_req_destructor
+ + add doxygen comments for tevent_num_signals() and
+ tevent_sa_info_queue_count()
+ + Add prototypes
+ + Only build "std_fallback_to_poll" when epoll is around
+ + fix crash bug in tevent_queue_immediate_trigger()
+ + Fix CID 1138326 Unchecked return value
+- Update to 0.9.20.
+ + give the user the chance to ask for TEVENT_NUM_SIGNALS and
+ TEVENT_SA_INFO_QUEUE_COUNT
+ + change TEVENT_SA_INFO_QUEUE_COUNT from 64 to 256
+ + tevent_epoll_set_panic_fallback() can be a void function
+ + make use of talloc_get_type_abort() in tevent_epoll.c, tevent_signal.c,
+ tevent_select.c, and tevent_queue.c
+ + use talloc_get_type_abort() in the documentation examples
+ + add tevent_queue_wait_send/recv()
+ + tevent_req_create() already uses ZERO_STRUCT(req)
+ + let tevent_req_received() clear the private_cancel function
+ + cancel the timeout timer when the request is finished
+ + Use talloc_pooled_object for tevent_req_create
+ + Remove a pointless goto
+ + Add tevent_received to tevent_req_simple_recv_ntstatus
+ + Fix tutorial reference
+ + Add echo server sample code
+ + Sync to tevent 0.9.18 from upstream
+ + expose tevent_context_init_ops
+
+-------------------------------------------------------------------
+Fri Dec 6 13:51:45 UTC 2013 - lmuelle(a)suse.com
+
+- Update to 0.9.19.
+ + Remove the signal pipe if no signal events are around
+ + document tevent_req_create state zeroing
+ + Fix Coverity ID 989236 Operands don't affect result
+ + Add tevent tutorial files and link it on the mainpage
+ + Only set poll_ev->delete=false if it was true
+
+-------------------------------------------------------------------
+Fri Dec 6 13:42:37 UTC 2013 - lmuelle(a)suse.com
+
+- Verify source tar ball gpg signature.
+
+-------------------------------------------------------------------
+Thu Aug 29 12:12:58 UTC 2013 - lmuelle(a)suse.com
+
+- PreReq /sbin/ldconfig from python-tevent.
+
+-------------------------------------------------------------------
+Thu Aug 29 10:54:02 UTC 2013 - lmuelle(a)suse.com
+
+- Add python-tevent to baselibs.conf.
+
+-------------------------------------------------------------------
+Tue Jul 2 11:47:29 UTC 2013 - lmuelle(a)suse.com
+
+- Add tevent.pyc and pyo to the file list of python-tevent for post Centos and
+ RHEL 5 and Fedora 11 builds.
+
+-------------------------------------------------------------------
+Tue Apr 9 14:44:24 UTC 2013 - lmuelle(a)suse.com
+
+- Update to 0.9.18.
+ + Adding new timer events is now faster, if there's
+ a large number of timer events.
+ + sigprocmask does not work on FreeBSD to stop further signals in a signal
+ handler.
+ + TEVENT_NUM_SIGNALS is calculated by configure in order
+ to support realtime signals on freebsd.
+ + ./configure --disable-python was fixed for the standalone build.
+ + Several crash bugs in the poll backend are fixed.
+ + The poll backend removes deleted events from the cached pollfd array now.
+ + The poll doesn't pass pollfd.events == 0 to poll() and maintains a list
+ of disabled events, instead of consuming 100% cpu and/or triggering
+ the callers handler.
+ + The poll backend detects POLLNVAL and reports EBADF
+ instead of consuming 100% cpu.
+ + The select backend supports separate handlers
+ for TEVENT_FD_READ and TEVENT_FD_WRITE.
+ + The poll and select backends are now doing fair queuing of fd events.
+ + The epoll has better error checking and supports separate handlers
+ for TEVENT_FD_READ and TEVENT_FD_WRITE.
+ + The standard backend was rewritten to be a tiny
+ wrapper on top of epoll with a fallback to poll,
+ which means that it doesn't use select directly anymore.
+ + TEVENT_TRACE_BEFORE_LOOP_ONCE and TEVENT_TRACE_AFTER_LOOP_ONCE are added
+ in order to allow the application to hook in before and after the
+ loop_once() backend function is called.
+ The TEVENT_HAS_LOOP_ONCE_TRACE_POINTS define can be used to
+ detect the new feature.
+
+-------------------------------------------------------------------
+Thu Aug 30 16:25:22 UTC 2012 - lmuelle(a)suse.com
+
+- Update to 0.9.17.
+ + Add threaded poll_mt testcase
+ + tevent_poll: Decouple poll_ev->fds handling from adding/removing fds
+ + tevent: Refer to the correct header in testsuite.c
+
+-------------------------------------------------------------------
+Tue Aug 7 21:49:07 UTC 2012 - lmuelle(a)suse.com
+
+- Update to 0.9.16.
+ + Adds tevent_*_trace_*() and tevent_context_init_ops().
+ + Move tevent.py to the arch-specific directory.
+
+-------------------------------------------------------------------
+Thu Jun 28 16:29:25 UTC 2012 - lmuelle(a)suse.com
+
+- Disable rpath while configure.
+
+-------------------------------------------------------------------
+Wed Jun 13 16:09:22 UTC 2012 - ddiss(a)suse.com
+
+- Tag GPLv3 due to tevent_util.h license; (bnc#765270).
+
+-------------------------------------------------------------------
+Sun Jun 3 21:52:07 UTC 2012 - lmuelle(a)suse.com
+
+- Define library name and use it instead of libtevent0.
+
+-------------------------------------------------------------------
+Sat Jun 2 15:46:14 UTC 2012 - lmuelle(a)suse.com
+
+- Rename package to tevent and add an independent libtevent0 subpackage.
+- Enhance and polish the package descriptions and summaries.
+
+-------------------------------------------------------------------
+Sat Jun 2 00:04:43 UTC 2012 - lmuelle(a)suse.com
+
+- Define and use talloc version macro.
+
+-------------------------------------------------------------------
++++ 53 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.tevent.new/tevent-man.changes
--- /work/SRC/openSUSE:Factory/tevent/tevent.changes 2015-07-05 17:53:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.tevent.new/tevent.changes 2015-09-09 20:20:35.000000000 +0200
@@ -1,0 +2,23 @@
+Mon Sep 7 22:14:42 UTC 2015 - lmuelle(a)suse.com
+
+- Recommend to install tevent-man from libtevent-devel on post-10.3 systems.
+
+-------------------------------------------------------------------
+Mon Sep 7 17:50:34 UTC 2015 - lmuelle(a)suse.com
+
+- Remove superfluous _name define.
+
+-------------------------------------------------------------------
+Mon Sep 7 17:06:26 UTC 2015 - lmuelle(a)suse.com
+
+- Update the Samba Library Distribution Key file 'tevent.keyring'.
+
+-------------------------------------------------------------------
+Thu Aug 20 08:58:37 UTC 2015 - dimstar(a)opensuse.org
+
+- Create 2nd spec-file tevent-man.spec: build the man pages in a
+ separate cycle in order to avoid the follwing build cycle:
+ doxygen -> curl -> krb5-mini -> libverto -> tevent -> doxygen.
+- Recommend tevent-man for installation.
+
+-------------------------------------------------------------------
New:
----
pre_checkin.sh
tevent-man.changes
tevent-man.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tevent-man.spec ++++++
#
# spec file for package tevent-man
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define talloc_version 2.0.7
%define build_man 1
%define _name tevent
%if %{build_man}
Name: %{_name}-man
BuildRequires: doxygen
%else
Name: %{_name}
#!BuildIgnore: libtalloc
BuildRequires: libtalloc-devel >= %{talloc_version}
%if 0%{?suse_version} > 1020
BuildRequires: pkg-config
%else
BuildRequires: pkgconfig
%endif
BuildRequires: pytalloc-devel >= %{talloc_version}
BuildRequires: python-devel
%endif
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140
%define build_make_smp_mflags %{?_smp_mflags}
%else
%define build_make_smp_mflags %{?jobs:-j%jobs}
%endif
Url: http://tevent.samba.org/
Version: 0.9.25
Release: 0
Summary: An event system based on the talloc memory management library
License: GPL-3.0+
Group: System/Libraries
Source: http://download.samba.org/pub/tevent/tevent-%{version}.tar.gz
Source1: http://download.samba.org/pub/tevent/tevent-%{version}.tar.asc
Source2: tevent.keyring
Source4: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Tevent is an event system based on the talloc memory management library. It
is the core event system used in Samba.
The low level tevent has support for many event types, including timers,
signals, and the classic file descriptor events.
Tevent also provide helpers to deal with asynchronous code providing the
tevent_req (tevent request) functions.
%if ! %{build_man}
%define libtevent_name libtevent0
%package -n %{libtevent_name}
PreReq: /sbin/ldconfig
Summary: Samba tevent Library
Group: System/Libraries
%description -n %{libtevent_name}
Tevent is an event system based on the talloc memory management library. It
is the core event system used in Samba.
The low level tevent has support for many event types, including timers,
signals, and the classic file descriptor events.
This package contains the tevent0 library.
%package -n libtevent-devel
Summary: Libraries and Header Files to Develop Programs with tevent0 Support
Group: Development/Libraries/C and C++
# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent
Recommends: %{name}-man
Requires: %{libtevent_name} = %{version}
Requires: libtalloc-devel >= %{talloc_version}
%if 0%{?suse_version} > 1020
Requires: pkg-config
%else
Requires: pkgconfig
%endif
%description -n libtevent-devel
Tevent is an event system based on the talloc memory management library. It
is the core event system used in Samba.
The low level tevent has support for many event types, including timers,
signals, and the classic file descriptor events.
Tevent also provide helpers to deal with asynchronous code providing the
tevent_req (tevent request) functions.
This package contains libraries and header files need for development.
%package -n python-tevent
Summary: Python bindings for the Tevent library
Group: Development/Libraries/Python
Requires: %{libtevent_name} = %{version}
PreReq: /sbin/ldconfig
%description -n python-tevent
This package contains the python bindings for the Tevent library.
%endif
%prep
%setup -n tevent-%{version} -q
%build
%if ! %{build_man}
%if 0%{?suse_version} && 0%{?suse_version} < 911
OPTIMIZATION="-O"
%else
# use the default optimization
unset OPTIMIZATION
%endif
export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS"
CONFIGURE_OPTIONS="\
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--disable-rpath \
--bundled-libraries=NONE \
--builtin-libraries=replace \
"
./configure ${CONFIGURE_OPTIONS}
%{__make} %{build_make_smp_mflags} \
all
%else
doxygen doxy.config
%endif
%if ! %{build_man}
%check
LD_LIBRARY_PATH=bin/shared %{__make} test
%endif
%install
%if ! %{build_man}
DESTDIR=${RPM_BUILD_ROOT} make install
# Shared libraries need to be marked executable for rpmbuild to strip them and
# include them in debuginfo
find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \;
%else
# install API docs
mkdir -p $RPM_BUILD_ROOT/%{_mandir}
cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir}
rm $RPM_BUILD_ROOT/%{_mandir}/man3/todo.3
%endif
%if ! %{build_man}
%post -n %{libtevent_name} -p /sbin/ldconfig
%postun -n %{libtevent_name} -p /sbin/ldconfig
%post -n python-tevent -p /sbin/ldconfig
%postun -n python-tevent -p /sbin/ldconfig
%files -n %{libtevent_name}
%defattr(-,root,root)
%{_libdir}/libtevent.so.*
%files -n libtevent-devel
%defattr(-,root,root)
%{_includedir}/tevent.h
%{_libdir}/libtevent.so
%{_libdir}/pkgconfig/tevent.pc
%files -n python-tevent
%defattr(-,root,root)
%attr(0755,root,root)
%{python_sitearch}/tevent.py
%{python_sitearch}/_tevent.so
%if 0%{?centos_version} > 599 || 0%{?fedora_version} > 11 || 0%{?rhel_version} > 599
%{python_sitearch}/tevent.pyc
%{python_sitearch}/tevent.pyo
%endif
%else
%files
%defattr(-,root,root)
%{_mandir}/man3/tevent*.*
%endif
%changelog
++++++ tevent.spec ++++++
--- /var/tmp/diff_new_pack.HNgHwr/_old 2015-09-09 20:20:35.000000000 +0200
+++ /var/tmp/diff_new_pack.HNgHwr/_new 2015-09-09 20:20:35.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package tevent
+# spec file for package tevent-man
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
@@ -19,9 +19,13 @@
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define talloc_version 2.0.7
+%define build_man 0
-Name: tevent
+%if %{build_man}
+Name: tevent-man
BuildRequires: doxygen
+%else
+Name: tevent
#!BuildIgnore: libtalloc
BuildRequires: libtalloc-devel >= %{talloc_version}
%if 0%{?suse_version} > 1020
@@ -31,6 +35,7 @@
%endif
BuildRequires: pytalloc-devel >= %{talloc_version}
BuildRequires: python-devel
+%endif
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1140
%define build_make_smp_mflags %{?_smp_mflags}
%else
@@ -58,6 +63,7 @@
Tevent also provide helpers to deal with asynchronous code providing the
tevent_req (tevent request) functions.
+%if ! %{build_man}
%define libtevent_name libtevent0
%package -n %{libtevent_name}
@@ -78,6 +84,10 @@
%package -n libtevent-devel
Summary: Libraries and Header Files to Develop Programs with tevent0 Support
Group: Development/Libraries/C and C++
+# Man pages are built in a 2nd spec file in order to break a build cycle with doxygen->cmake->krb5->libtevent
+%if 0%{?suse_version} > 1030
+Recommends: %{name}-man
+%endif
Requires: %{libtevent_name} = %{version}
Requires: libtalloc-devel >= %{talloc_version}
%if 0%{?suse_version} > 1020
@@ -108,10 +118,13 @@
%description -n python-tevent
This package contains the python bindings for the Tevent library.
+%endif
+
%prep
%setup -n tevent-%{version} -q
%build
+%if ! %{build_man}
%if 0%{?suse_version} && 0%{?suse_version} < 911
OPTIMIZATION="-O"
%else
@@ -129,24 +142,35 @@
./configure ${CONFIGURE_OPTIONS}
%{__make} %{build_make_smp_mflags} \
all
+%else
doxygen doxy.config
+%endif
+
+%if ! %{build_man}
%check
LD_LIBRARY_PATH=bin/shared %{__make} test
+%endif
%install
+%if ! %{build_man}
DESTDIR=${RPM_BUILD_ROOT} make install
+# Shared libraries need to be marked executable for rpmbuild to strip them and
+# include them in debuginfo
+find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \;
+
+%else
+
# install API docs
mkdir -p $RPM_BUILD_ROOT/%{_mandir}
cp -a doc/man/* $RPM_BUILD_ROOT/%{_mandir}
rm $RPM_BUILD_ROOT/%{_mandir}/man3/todo.3
-# Shared libraries need to be marked executable for rpmbuild to strip them and
-# include them in debuginfo
-find ${RPM_BUILD_ROOT} -name "*.so*" -exec chmod -c +x {} \;
+%endif
+%if ! %{build_man}
%post -n %{libtevent_name} -p /sbin/ldconfig
%postun -n %{libtevent_name} -p /sbin/ldconfig
@@ -164,7 +188,6 @@
%{_includedir}/tevent.h
%{_libdir}/libtevent.so
%{_libdir}/pkgconfig/tevent.pc
-%{_mandir}/man3/tevent*.*
%files -n python-tevent
%defattr(-,root,root)
@@ -176,4 +199,11 @@
%{python_sitearch}/tevent.pyo
%endif
+%else
+%files
+%defattr(-,root,root)
+%{_mandir}/man3/tevent*.*
+
+%endif
+
%changelog
++++++ pre_checkin.sh ++++++
#!/bin/bash
sed 's/%define.*build_man.*0/%define build_man 1/' tevent.spec > tevent-man.spec
cp tevent.changes tevent-man.changes
++++++ tevent.keyring ++++++
--- /var/tmp/diff_new_pack.HNgHwr/_old 2015-09-09 20:20:35.000000000 +0200
+++ /var/tmp/diff_new_pack.HNgHwr/_new 2015-09-09 20:20:35.000000000 +0200
@@ -1,5 +1,5 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2
mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl
OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC
@@ -33,24 +33,38 @@
4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq
9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q
Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX
-yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78uQENBE0uBhsBCAC/
-r9eB7oCPNE1dYkzaWrt5LrA8aoZL0sn9Uu871h63L5ZbCA8nnGQMPRY1J92yS2AX
-wXagn2Q+kB9lyB0pX5xYnxIrIX4eAvPDSiPf8FlT/a534AD1kXSNaKAu+yX86Vlm
-toYeWT4JPFqxAdKbOkwKLoM+pj9hFKQdzaiQBL9ShNUkwQ62CKGYF+AJMcomn+zc
-tyflnYMNybJLhux3hAvqymcagq2RwMqBkjCU1U5eGDzRfBn37i/Em6pNNeRd4G5F
-7mP9oi6QBC0E3jJQs6mZ94GfSAHSZJqdDHG30i+i0iyNDNHLBPdYOGxuNkz4ACMD
-yx7KdUorriW7hO+XIdytABEBAAGJASUEGAECAA8CGwwFAk8ae0MFCQPNqKIACgkQ
-R5ORYRMIQCWEXAf9Hhk+M1l8bSdx0m5qgYRei3kl+iSkSoF4A/xBNL2aXlmEpmBw
-Ot6YT8zGhHWBOaXKTykU2qwwDym1hxqmwJcXTVQabbllnC7ptkT2n7pvJoEh/vgG
-od3zsGoG3GtAxpMDtU+SHYYVq1cT99Tp/gI5fVW84dD/tiPPo6NMg84ynpwzrY0x
-tfnGQhs0JByiwMoLnGlikR+h62Q7SO36gYYuHNf3k+D/r4WctwgoiP/mv+ewdxoD
-aF9M1CzLRdY1rDqKbMWiznpxI1cHGaeP45fx1If2RnpdJ6W+UYNGzJ48j7vS5ph8
-1EGe9M7unpQLMbR2d7MggFfg9wqFyaWQI41QT4kBJQQYAQIADwIbDAUCUQUaOgUJ
-BbhHmwAKCRBHk5FhEwhAJQ8IB/9pJowNfed0qU2ddBG68X0EN3e92+3pmzTMB51g
-sDVTbRibB23/2TRuwSptefxSSbozCX/UyEWFK+TwYmX8eE3Nas+njre/CnvX/1wM
-twYOdSPF9vrtVMZrkj4jTV9RGRXRR1nReNB1A0BTFsfLKr5Wpznj0LEjNmoz7omb
-3gQsuv4zEdq5mPjEAXbxkSGAM8UbcxoMM/A7EbnkL8sLzdWc1JC+z9pOSsHmhqhc
-3IvCRnl9M22dnl+8FJjDwnUdBY1l1689kL6ryyebgnrVqO8+M+85h7XoB5O0pgIm
-be5AIF8rela8HSphYyhWAmGnJejZpdJQUwfDK9bXhAjyBFeq
-=Tw7M
+yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx
+FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg
+1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/
+0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG
+8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3
+2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj
+jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB
+Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN
+9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf
+UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9
+aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S
+8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK
+1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u
+oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI
+DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg
+APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB
+DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8
+GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M
+0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC
+Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R
+9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer
+9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg
+BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8
+294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v
+lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB
+AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp
+q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH
+7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7
+Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S
+Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX
+YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb
+T5Q=
+=9mzF
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package ldb for openSUSE:Factory checked in at 2015-09-09 20:20:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ldb (Old)
and /work/SRC/openSUSE:Factory/.ldb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ldb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ldb/ldb.changes 2015-07-27 09:09:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ldb.new/ldb.changes 2015-09-09 20:20:29.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Sep 7 21:55:16 UTC 2015 - lmuelle(a)suse.com
+
+- Move the ldb-cmdline library to the ldb-tools package as the packaged
+ binaries depend on it.
+
+-------------------------------------------------------------------
+Mon Sep 7 17:06:26 UTC 2015 - lmuelle(a)suse.com
+
+- Update the Samba Library Distribution Key file 'ldb.keyring'.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ldb.spec ++++++
--- /var/tmp/diff_new_pack.3Av0QW/_old 2015-09-09 20:20:29.000000000 +0200
+++ /var/tmp/diff_new_pack.3Av0QW/_new 2015-09-09 20:20:29.000000000 +0200
@@ -179,7 +179,6 @@
%{_includedir}/ldb_version.h
%{_libdir}/libldb.so
%dir %{_libdir}/ldb
-%{_libdir}/ldb/libldb-cmdline.so
%{_libdir}/pkgconfig/ldb.pc
%files -n ldb-tools
@@ -190,6 +189,7 @@
%{_bindir}/ldbmodify
%{_bindir}/ldbrename
%{_bindir}/ldbsearch
+%{_libdir}/ldb/libldb-cmdline.so
%{_mandir}/man1/ldbadd.1.gz
%{_mandir}/man1/ldbdel.1.gz
%{_mandir}/man1/ldbedit.1.gz
++++++ ldb.keyring ++++++
--- /var/tmp/diff_new_pack.3Av0QW/_old 2015-09-09 20:20:30.000000000 +0200
+++ /var/tmp/diff_new_pack.3Av0QW/_new 2015-09-09 20:20:30.000000000 +0200
@@ -1,5 +1,5 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2
mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl
OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC
@@ -33,24 +33,38 @@
4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq
9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q
Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX
-yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78uQENBE0uBhsBCAC/
-r9eB7oCPNE1dYkzaWrt5LrA8aoZL0sn9Uu871h63L5ZbCA8nnGQMPRY1J92yS2AX
-wXagn2Q+kB9lyB0pX5xYnxIrIX4eAvPDSiPf8FlT/a534AD1kXSNaKAu+yX86Vlm
-toYeWT4JPFqxAdKbOkwKLoM+pj9hFKQdzaiQBL9ShNUkwQ62CKGYF+AJMcomn+zc
-tyflnYMNybJLhux3hAvqymcagq2RwMqBkjCU1U5eGDzRfBn37i/Em6pNNeRd4G5F
-7mP9oi6QBC0E3jJQs6mZ94GfSAHSZJqdDHG30i+i0iyNDNHLBPdYOGxuNkz4ACMD
-yx7KdUorriW7hO+XIdytABEBAAGJASUEGAECAA8CGwwFAk8ae0MFCQPNqKIACgkQ
-R5ORYRMIQCWEXAf9Hhk+M1l8bSdx0m5qgYRei3kl+iSkSoF4A/xBNL2aXlmEpmBw
-Ot6YT8zGhHWBOaXKTykU2qwwDym1hxqmwJcXTVQabbllnC7ptkT2n7pvJoEh/vgG
-od3zsGoG3GtAxpMDtU+SHYYVq1cT99Tp/gI5fVW84dD/tiPPo6NMg84ynpwzrY0x
-tfnGQhs0JByiwMoLnGlikR+h62Q7SO36gYYuHNf3k+D/r4WctwgoiP/mv+ewdxoD
-aF9M1CzLRdY1rDqKbMWiznpxI1cHGaeP45fx1If2RnpdJ6W+UYNGzJ48j7vS5ph8
-1EGe9M7unpQLMbR2d7MggFfg9wqFyaWQI41QT4kBJQQYAQIADwIbDAUCUQUaOgUJ
-BbhHmwAKCRBHk5FhEwhAJQ8IB/9pJowNfed0qU2ddBG68X0EN3e92+3pmzTMB51g
-sDVTbRibB23/2TRuwSptefxSSbozCX/UyEWFK+TwYmX8eE3Nas+njre/CnvX/1wM
-twYOdSPF9vrtVMZrkj4jTV9RGRXRR1nReNB1A0BTFsfLKr5Wpznj0LEjNmoz7omb
-3gQsuv4zEdq5mPjEAXbxkSGAM8UbcxoMM/A7EbnkL8sLzdWc1JC+z9pOSsHmhqhc
-3IvCRnl9M22dnl+8FJjDwnUdBY1l1689kL6ryyebgnrVqO8+M+85h7XoB5O0pgIm
-be5AIF8rela8HSphYyhWAmGnJejZpdJQUwfDK9bXhAjyBFeq
-=Tw7M
+yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx
+FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg
+1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/
+0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG
+8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3
+2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj
+jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB
+Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN
+9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf
+UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9
+aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S
+8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK
+1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u
+oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI
+DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg
+APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB
+DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8
+GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M
+0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC
+Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R
+9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer
+9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg
+BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8
+294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v
+lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB
+AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp
+q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH
+7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7
+Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S
+Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX
+YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb
+T5Q=
+=9mzF
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package talloc for openSUSE:Factory checked in at 2015-09-09 20:20:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/talloc (Old)
and /work/SRC/openSUSE:Factory/.talloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "talloc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/talloc/talloc.changes 2015-07-27 09:09:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.talloc.new/talloc.changes 2015-09-09 20:20:21.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 7 17:06:26 UTC 2015 - lmuelle(a)suse.com
+
+- Update the Samba Library Distribution Key file 'talloc.keyring'.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ talloc.keyring ++++++
--- /var/tmp/diff_new_pack.8W9HjQ/_old 2015-09-09 20:20:21.000000000 +0200
+++ /var/tmp/diff_new_pack.8W9HjQ/_new 2015-09-09 20:20:21.000000000 +0200
@@ -1,5 +1,5 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2
mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl
OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC
@@ -20,38 +20,51 @@
UZlEro6I5/J5rK8GdFEN8eqjjQIKOy7VojtEm//oqb1H75bHa52QOmDKaGXB0DZ2
5fyKfi9hEKTK6YFD7ItLk8BU6t0tty57kDEpu5HcaNJbtRHveSTaVt1PBdfH99XH
AjkaOUtB43pQltMoDbSMil87Kjiy84KZvOMydgIBzNTEpdJ1B7FYQcf4MbVR6l9O
-iHjoAUOio1MreObETNtQzdFDwal4bokBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQW
-AgMBAh4BAheABQJRBRnOBQkFuEckAAoJEEeTkWETCEAlcAoH/iTvU1zED/GMkUzG
-HkdSN4s+LWWXsRhZXP2g4/r7R19J8jHJ8XQwZcScdQWvw5kbdGdMq0+mYWyP6Q3r
-tKO1Zb8kpiWrz6RXrUNbTrniQtiTNIhjCioLGvpowLpDhC8lPRIIszuERnqP7Ajk
-+UMpI+nQMEhydWMMNOOmNur0tgcSy1k44nfRjDbAlV7eS8uVQAxNXWi82BQTTjGJ
-H6aO/BRhNmmDGuWXDDPyT5BDcvLVVfXPg3+Z8wVKH7CLK9xmnfuWGMe8fABM0OBw
-3w1SpETHnE+iioqTndiHJxfI6ctHGR0bn3hvF6retEKrCmnxWzNVnmtQroT7N5br
-dQKxHvyJATwEEwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCUyqr4QUJ
-B93ZOwAKCRBHk5FhEwhAJbEXCACN4m3TbYhW28Ef8hcEvolagDVy1No1lcO9QVoJ
-2y0NAKHS//xeMfTBSsAOquDVMfULc8AbhA2WyzJ35YDJQ2x1xwbB3kZs1sgDwPdl
-tptHmBhWRW74Q3E/Qsecd3/Rh6xii+GfBX0Itcyyycm0s0rFT/A6cbRPGc5UgE9T
-WcT8ZqfxxSgIUp91ixdF1QbyaSyWPT99n3F0o1msZ1ND0a+23uSwBuQX68LtmQNw
-eoYvTqxjO4EegADGmwp2eTfYDU/7zh9VoGezOgPV1Hp/faP/y3XUUDyLov4TNxLj
-bLT570kO3LCuZvmQXuGUOyOMCwCBBhrN0Fk434NJq5rRdegQiQE8BBMBAgAmBQJN
-LgYbAhsDBQkB4TOABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQR5ORYRMIQCX6
-Hwf/azCiKRbtP1Jprsa9o5VwS42RtEyNzcU/0F1+FKnHG5QLAfjFc0xlddB5NP7g
-EPmnyeIMr6BFLZFAwEcjR/izh7BGWQiZXqYFxG6HGoUHc9RQpyOb2xvu+Te27JCE
-bPsm8p0KIsGpEphUikl/74VUXOXrZP9dQ+szBO9zOXnMQzGVTrYXORluMxsqv7HK
-kkDN+H5MIT6H1A0+qTL2PuC5AhZ5qvdHafi2ty/ZKKCsJZrX5kc8R/vbc4mwGbwc
-fGKypdASqaRLwnpgtH/CjCo2iU8qMiJloI5D5grGdVHEdD/b1wfHDwU1x6DWfM5O
-UAZdHXBOjMYbBBdxDHcJNcQavrkBDQRNLgYbAQgAv6/Xge6AjzRNXWJM2lq7eS6w
-PGqGS9LJ/VLvO9Yety+WWwgPJ5xkDD0WNSfdsktgF8F2oJ9kPpAfZcgdKV+cWJ8S
-KyF+HgLzw0oj3/BZU/2ud+AA9ZF0jWigLvsl/OlZZraGHlk+CTxasQHSmzpMCi6D
-PqY/YRSkHc2okAS/UoTVJMEOtgihmBfgCTHKJp/s3Lcn5Z2DDcmyS4bsd4QL6spn
-GoKtkcDKgZIwlNVOXhg80XwZ9+4vxJuqTTXkXeBuRe5j/aIukAQtBN4yULOpmfeB
-n0gB0mSanQxxt9IvotIsjQzRywT3WDhsbjZM+AAjA8seynVKK64lu4TvlyHcrQAR
-AQABiQElBBgBAgAPAhsMBQJTKqv4BQkH3dlZAAoJEEeTkWETCEAl2foH/3kd1GqQ
-3vy2UKtCPHUN7+GoEDNH71H1BrcmWJMswzCKLrGn41iJhdAKzbMG8zi9UgXCcU1r
-BvNHsgaU/ebN5cpgc0A9V6v0N+gp1jExWb9h8fxcWGN2WhEu9qHJXnPM9+7Aeen0
-74Pa7H36uP1P5jYVhfQ0UOAFGglyxhrTkRnPPzpu1jFRxpdwj+vuALMKFJ8sDz/r
-3R6s4dIGYQhRjihZePLno7zb3gIyrKpizhuoOch4fmdDZmVyV3assyle24g0+yuS
-rCs6BlvZZDtJ2W/F3fZg72+Uv9fKt2Of5WdNpIhD9GKnqqiyrFi7MOp4v34if5me
-ee4X1kuimGrHt/s=
-=f+YH
+iHjoAUOio1MreObETNtQzdFDwal4bokBPAQTAQIAJgUCTS4GGwIbAwUJAeEzgAYL
+CQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEEeTkWETCEAl+h8H/2swoikW7T9Saa7G
+vaOVcEuNkbRMjc3FP9BdfhSpxxuUCwH4xXNMZXXQeTT+4BD5p8niDK+gRS2RQMBH
+I0f4s4ewRlkImV6mBcRuhxqFB3PUUKcjm9sb7vk3tuyQhGz7JvKdCiLBqRKYVIpJ
+f++FVFzl62T/XUPrMwTvczl5zEMxlU62FzkZbjMbKr+xypJAzfh+TCE+h9QNPqky
+9j7guQIWear3R2n4trcv2SigrCWa1+ZHPEf723OJsBm8HHxisqXQEqmkS8J6YLR/
+wowqNolPKjIiZaCOQ+YKxnVRxHQ/29cHxw8FNceg1nzOTlAGXR1wTozGGwQXcQx3
+CTXEGr6JATwEEwECACYCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAUCUQUZzgUJ
+BbhHJAAKCRBHk5FhEwhAJXAKB/4k71NcxA/xjJFMxh5HUjeLPi1ll7EYWVz9oOP6
++0dfSfIxyfF0MGXEnHUFr8OZG3RnTKtPpmFsj+kN67SjtWW/JKYlq8+kV61DW065
+4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq
+9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q
+Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX
+yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx
+FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg
+1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/
+0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG
+8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3
+2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj
+jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB
+Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN
+9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf
+UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9
+aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S
+8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK
+1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u
+oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI
+DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg
+APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB
+DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8
+GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M
+0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC
+Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R
+9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer
+9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg
+BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8
+294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v
+lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB
+AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp
+q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH
+7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7
+Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S
+Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX
+YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb
+T5Q=
+=9mzF
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package tdb for openSUSE:Factory checked in at 2015-09-09 20:20:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tdb (Old)
and /work/SRC/openSUSE:Factory/.tdb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tdb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/tdb/tdb.changes 2015-07-27 09:09:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.tdb.new/tdb.changes 2015-09-09 20:20:13.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 7 17:06:26 UTC 2015 - lmuelle(a)suse.com
+
+- Update the Samba Library Distribution Key file 'tdb.keyring'.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tdb.keyring ++++++
--- /var/tmp/diff_new_pack.xCHRcr/_old 2015-09-09 20:20:13.000000000 +0200
+++ /var/tmp/diff_new_pack.xCHRcr/_new 2015-09-09 20:20:13.000000000 +0200
@@ -1,5 +1,5 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v2.0.22 (GNU/Linux)
+Version: GnuPG v2
mQENBE0uBhsBCADIjamou8B7vf0Gnvdb8ZhJ708kXnoeGH161xffaYJg40rXhyyl
OHlc4ZLVc4OyFr+tWREgNDyBkeS5TTsJ3ul/cBMbBjpn2LOO41X1fenhlvWFkhuC
@@ -33,24 +33,38 @@
4kLYkzSIYwoqCxr6aMC6Q4QvJT0SCLM7hEZ6j+wI5PlDKSPp0DBIcnVjDDTjpjbq
9LYHEstZOOJ30Yw2wJVe3kvLlUAMTV1ovNgUE04xiR+mjvwUYTZpgxrllwwz8k+Q
Q3Ly1VX1z4N/mfMFSh+wiyvcZp37lhjHvHwATNDgcN8NUqREx5xPooqKk53YhycX
-yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78uQENBE0uBhsBCAC/
-r9eB7oCPNE1dYkzaWrt5LrA8aoZL0sn9Uu871h63L5ZbCA8nnGQMPRY1J92yS2AX
-wXagn2Q+kB9lyB0pX5xYnxIrIX4eAvPDSiPf8FlT/a534AD1kXSNaKAu+yX86Vlm
-toYeWT4JPFqxAdKbOkwKLoM+pj9hFKQdzaiQBL9ShNUkwQ62CKGYF+AJMcomn+zc
-tyflnYMNybJLhux3hAvqymcagq2RwMqBkjCU1U5eGDzRfBn37i/Em6pNNeRd4G5F
-7mP9oi6QBC0E3jJQs6mZ94GfSAHSZJqdDHG30i+i0iyNDNHLBPdYOGxuNkz4ACMD
-yx7KdUorriW7hO+XIdytABEBAAGJASUEGAECAA8CGwwFAk8ae0MFCQPNqKIACgkQ
-R5ORYRMIQCWEXAf9Hhk+M1l8bSdx0m5qgYRei3kl+iSkSoF4A/xBNL2aXlmEpmBw
-Ot6YT8zGhHWBOaXKTykU2qwwDym1hxqmwJcXTVQabbllnC7ptkT2n7pvJoEh/vgG
-od3zsGoG3GtAxpMDtU+SHYYVq1cT99Tp/gI5fVW84dD/tiPPo6NMg84ynpwzrY0x
-tfnGQhs0JByiwMoLnGlikR+h62Q7SO36gYYuHNf3k+D/r4WctwgoiP/mv+ewdxoD
-aF9M1CzLRdY1rDqKbMWiznpxI1cHGaeP45fx1If2RnpdJ6W+UYNGzJ48j7vS5ph8
-1EGe9M7unpQLMbR2d7MggFfg9wqFyaWQI41QT4kBJQQYAQIADwIbDAUCUQUaOgUJ
-BbhHmwAKCRBHk5FhEwhAJQ8IB/9pJowNfed0qU2ddBG68X0EN3e92+3pmzTMB51g
-sDVTbRibB23/2TRuwSptefxSSbozCX/UyEWFK+TwYmX8eE3Nas+njre/CnvX/1wM
-twYOdSPF9vrtVMZrkj4jTV9RGRXRR1nReNB1A0BTFsfLKr5Wpznj0LEjNmoz7omb
-3gQsuv4zEdq5mPjEAXbxkSGAM8UbcxoMM/A7EbnkL8sLzdWc1JC+z9pOSsHmhqhc
-3IvCRnl9M22dnl+8FJjDwnUdBY1l1689kL6ryyebgnrVqO8+M+85h7XoB5O0pgIm
-be5AIF8rela8HSphYyhWAmGnJejZpdJQUwfDK9bXhAjyBFeq
-=Tw7M
+yOnLRxkdG594bxeq3rRCqwpp8VszVZ5rUK6E+zeW63UCsR78iQE8BBMBAgAmAhsD
+BgsJCAcDAgQVAggDBBYCAwECHgECF4AFAlMqq+EFCQfd2TsACgkQR5ORYRMIQCWx
+FwgAjeJt022IVtvBH/IXBL6JWoA1ctTaNZXDvUFaCdstDQCh0v/8XjH0wUrADqrg
+1TH1C3PAG4QNlssyd+WAyUNsdccGwd5GbNbIA8D3ZbabR5gYVkVu+ENxP0LHnHd/
+0YesYovhnwV9CLXMssnJtLNKxU/wOnG0TxnOVIBPU1nE/Gan8cUoCFKfdYsXRdUG
+8mkslj0/fZ9xdKNZrGdTQ9Gvtt7ksAbkF+vC7ZkDcHqGL06sYzuBHoAAxpsKdnk3
+2A1P+84fVaBnszoD1dR6f32j/8t11FA8i6L+EzcS42y0+e9JDtywrmb5kF7hlDsj
+jAsAgQYazdBZON+DSaua0XXoEIkBPAQTAQIAJgIbAwYLCQgHAwIEFQIIAwQWAgMB
+Ah4BAheABQJVQKNgBQkJ89CjAAoJEEeTkWETCEAlrIAH/0lCfyN1KNWSv3KDnyBN
+9RjsAGBIKYm+D7rgmrCLc7j/ogVEmcuun3IoyDLKNYSBan9qrwKo9vlE7ffzIUCf
+UUyWaI/Zk6gzuyICDCrBHzl+uk+Rsc/qteTyF4HII2UfZgL8kHrqkwQ1iubNNJL9
+aMj8XrwRPJ4MbXDV3vay2uQ3REttUZFBa6Vrn5EtmWdtyCcLFFYWVDhzdpn1Zm7S
+8XaUEjR/keEKFTg1iZW8+upURgTggu6/HDmheD2HQeqzbaIIRB+TumfE3SRqsZXK
+1coupUPXTSeBQWz6q+k9NjSaz57EevuA5bD5vD4mbmM6grbz8cEkJwLNWmbYZ9+u
+oom5AQ0ETS4GGwEIAL+v14HugI80TV1iTNpau3kusDxqhkvSyf1S7zvWHrcvllsI
+DyecZAw9FjUn3bJLYBfBdqCfZD6QH2XIHSlfnFifEishfh4C88NKI9/wWVP9rnfg
+APWRdI1ooC77JfzpWWa2hh5ZPgk8WrEB0ps6TAougz6mP2EUpB3NqJAEv1KE1STB
+DrYIoZgX4Akxyiaf7Ny3J+Wdgw3JskuG7HeEC+rKZxqCrZHAyoGSMJTVTl4YPNF8
+GffuL8Sbqk015F3gbkXuY/2iLpAELQTeMlCzqZn3gZ9IAdJkmp0McbfSL6LSLI0M
+0csE91g4bG42TPgAIwPLHsp1SiuuJbuE75ch3K0AEQEAAYkBJQQYAQIADwIbDAUC
+Uyqr+AUJB93ZWQAKCRBHk5FhEwhAJdn6B/95HdRqkN78tlCrQjx1De/hqBAzR+9R
+9Qa3JliTLMMwii6xp+NYiYXQCs2zBvM4vVIFwnFNawbzR7IGlP3mzeXKYHNAPVer
+9DfoKdYxMVm/YfH8XFhjdloRLvahyV5zzPfuwHnp9O+D2ux9+rj9T+Y2FYX0NFDg
+BRoJcsYa05EZzz86btYxUcaXcI/r7gCzChSfLA8/690erOHSBmEIUY4oWXjy56O8
+294CMqyqYs4bqDnIeH5nQ2Zlcld2rLMpXtuINPsrkqwrOgZb2WQ7Sdlvxd32YO9v
+lL/Xyrdjn+VnTaSIQ/Rip6qosqxYuzDqeL9+In+ZnnnuF9ZLophqx7f7iQElBBgB
+AgAPAhsMBQJVQKN0BQkJ89DUAAoJEEeTkWETCEAlbkgH/1v5ntI2GMIplnbar6Hp
+q8FtGpfWKFXzxNR9ihKzOfWOicbd/v0yC2b2g5gZDumLFQIgyzEst7bgpwhk+WxH
+7G+sYceMsEymZ/S9oLWOd++kwUSF5arPfxtpIi4KdFAShgDpdBTNNkm7K6ACjRh7
+Aq+4attqvsIUNTBYkb+zSO0UuJI53DCOM4Z9+qwGsQbMvTer6xR2lNlPKP9yRk1S
+Sc/YAlT46qp53IiugtymDGBegSOsNGuehXQY7V2eKxWdtEilTmjuGUFutaoX89oX
+YEB+l7H+SaCAZUAkYz6tfJVpU00FLTZeiLk2TGiQ71APpx3DjJkGryv48W6lwozb
+T5Q=
+=9mzF
-----END PGP PUBLIC KEY BLOCK-----
1
0
Hello community,
here is the log from the commit of package doxygen for openSUSE:Factory checked in at 2015-09-09 20:20:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/doxygen (Old)
and /work/SRC/openSUSE:Factory/.doxygen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doxygen"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:Factory/.doxygen.new/doxygen-doc.changes 2015-09-09 20:20:05.000000000 +0200
@@ -0,0 +1,17 @@
+-------------------------------------------------------------------
+Fri Aug 21 10:01:07 UTC 2015 - tchvatal(a)suse.com
+
+- Set proper minimal cmake version required
+- Use system stack for cmake params and obey cflags
+- Add patch to build required static libs:
+ * doxygen-no-shared-libs.patch
+- Refresh patch:
+ * doxygen-no-lowercase-man-names.patch
+- Add patch to avoid no-return-in-nonvoid function error:
+ * vhdlparser-no-return.patch
+
+-------------------------------------------------------------------
+Wed Aug 19 08:00:39 UTC 2015 - pgajdos(a)suse.com
+
+- doxygen-doc package created
+
--- /work/SRC/openSUSE:Factory/doxygen/doxygen.changes 2015-03-05 18:15:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.doxygen.new/doxygen.changes 2015-09-09 20:20:05.000000000 +0200
@@ -1,0 +2,33 @@
+Thu Aug 27 07:34:04 UTC 2015 - mpluskal(a)suse.com
+
+- Move checks to doxywizard package to avoid build cycle
+
+-------------------------------------------------------------------
+Fri Aug 21 09:41:39 UTC 2015 - tchvatal(a)suse.com
+
+- Set proper minimal cmake version required
+- Use system stack for cmake params and obey cflags
+- Add patch to build required static libs:
+ * doxygen-no-shared-libs.patch
+- Refresh patch:
+ * doxygen-no-lowercase-man-names.patch
+- Add patch to avoid no-return-in-nonvoid function error:
+ * vhdlparser-no-return.patch
+
+-------------------------------------------------------------------
+Mon Aug 17 14:52:48 UTC 2015 - pgajdos(a)suse.com
+
+- updated to 1.8.10
+ * Change the build system to use cmake.
+ * Add support for basic XML syntax highlighting
+ * Added documentation for ``` style fenced code block and more
+ robust parsing
+ * Added function arguments to the LaTeX toc
+ * Added support for language codes
+ * etc. see http://www.stack.nl/~dimitri/doxygen/manual/changelog.html
+- removed unneded patches:
+ - doxygen-1.5.9-64archs.patch
+ - doxygen-1.5.9-man.patch
+ - doxygen-1.7.0-modify_footer.patch renamed to doxygen-modify_footer.patch
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/doxygen/doxywizard.changes 2015-03-05 18:15:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.doxygen.new/doxywizard.changes 2015-09-09 20:20:05.000000000 +0200
@@ -1,0 +2,24 @@
+Thu Aug 27 07:34:32 UTC 2015 - mpluskal(a)suse.com
+
+- Move checks to doxywizard package to avoid build cycle
+
+-------------------------------------------------------------------
+Fri Aug 21 09:42:05 UTC 2015 - tchvatal(a)suse.com
+
+- Set proper minimal cmake version required
+- Use system stack for cmake params and obey cflags
+- Add patch to build required static libs:
+ * doxygen-no-shared-libs.patch
+- Refresh patch:
+ * doxygen-no-lowercase-man-names.patch
+- Add patch to avoid no-return-in-nonvoid function error:
+ * vhdlparser-no-return.patch
+
+-------------------------------------------------------------------
+Mon Aug 17 16:07:31 UTC 2015 - pgajdos(a)suse.com
+
+- updated to 1.8.10, see doxygen.changes
+- move tests to doxygen.spec
+- remove doxywizard-1.5.9-flex.patch
+
+-------------------------------------------------------------------
Old:
----
doxygen-1.5.9-64archs.patch
doxygen-1.5.9-man.patch
doxygen-1.7.0-modify_footer.patch
doxygen-1.8.9.1.src.tar.gz
doxywizard-1.5.9-flex.patch
New:
----
doxygen-1.8.10.src.tar.gz
doxygen-doc.changes
doxygen-doc.spec
doxygen-modify_footer.patch
doxygen-no-shared-libs.patch
vhdlparser-no-return.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ doxygen-doc.spec ++++++
#
# spec file for package doxygen-doc
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: doxygen-doc
Version: 1.8.10
Release: 0
Summary: Automated C, C++, and Java Documentation Generator
License: GPL-2.0+
Group: Development/Tools/Doc Generators
Url: http://www.stack.nl/~dimitri/doxygen/
Source0: http://ftp.stack.nl/pub/users/dimitri/doxygen-%{version}.src.tar.gz
# PATCH-FIX-UPSTREAM: declare static library where we don't want to provide
# shared one
Patch2: doxygen-no-shared-libs.patch
# PATCH-FIX-UPSTREAM: add missing returns to non-void functions
Patch3: vhdlparser-no-return.patch
BuildRequires: bison
BuildRequires: cmake >= 2.8.12
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gcc-c++
# see graphviz.spec:
# "If you need output in png format you also need to install graphviz-gnome."
BuildRequires: graphviz-gnome
BuildRequires: poppler-tools
BuildRequires: python-base
BuildRequires: python-xml
BuildRequires: texlive-colortbl
BuildRequires: texlive-courier
BuildRequires: texlive-dvips
BuildRequires: texlive-epstopdf
BuildRequires: texlive-fancyhdr
BuildRequires: texlive-float
BuildRequires: texlive-helvetic
BuildRequires: texlive-latex
BuildRequires: texlive-makeindex
BuildRequires: texlive-metafont
BuildRequires: texlive-multirow
BuildRequires: texlive-natbib
BuildRequires: texlive-psnfss
BuildRequires: texlive-rsfs
BuildRequires: texlive-sectsty
BuildRequires: texlive-symbol
BuildRequires: texlive-times
BuildRequires: texlive-tocloft
BuildRequires: texlive-wasy
BuildRequires: texlive-wasysym
BuildRequires: texlive-xtab
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Doxygen is a documentation system for C, C++, Java, and IDL. It can
generate an online class browser (in HTML) and an offline reference
manual (in LaTeX) from a set of documented source files. The
documentation is extracted directly from the sources. Doxygen is
developed on a Linux platform, but it runs on most other UNIX flavors
as well.
This package contains only documentation
%prep
%setup -q -n doxygen-%{version}
%patch2 -p1
%patch3 -p1
%build
export CFLAGS="%{optflags} -fPIC"
export CXXFLAGS="%{optflags} -fPIC"
%cmake \
-DDOC_INSTALL_DIR=share/doc/packages/%{name} \
-Dbuild_doc=ON \
-Dbuild_xmlparser=OFF \
-Dbuild_search=OFF \
-Dbuild_wizard=OFF \
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now"
make docs %{?_smp_mflags}
%install
%cmake_install docs
rm %{buildroot}%{_bindir}/doxygen
rm -r %{buildroot}/usr/man/man1/
%fdupes -s %{buildroot}%{_docdir}/%{name}-doc
%files
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%changelog
++++++ doxygen.spec ++++++
--- /var/tmp/diff_new_pack.dHttbD/_old 2015-09-09 20:20:07.000000000 +0200
+++ /var/tmp/diff_new_pack.dHttbD/_new 2015-09-09 20:20:07.000000000 +0200
@@ -17,23 +17,26 @@
Name: doxygen
-Version: 1.8.9.1
+Version: 1.8.10
Release: 0
Summary: Automated C, C++, and Java Documentation Generator
License: GPL-2.0+
Group: Development/Tools/Doc Generators
Url: http://www.stack.nl/~dimitri/doxygen/
Source0: http://ftp.stack.nl/pub/users/dimitri/doxygen-%{version}.src.tar.gz
-Patch0: %{name}-1.5.9-64archs.patch
-Patch3: %{name}-1.5.9-man.patch
-Patch4: %{name}-1.7.0-modify_footer.patch
-Patch5: %{name}-no-lowercase-man-names.patch
+# suse specific
+Patch0: %{name}-modify_footer.patch
+# suse specific
+Patch1: %{name}-no-lowercase-man-names.patch
+# PATCH-FIX-UPSTREAM: declare static library where we don't want to provide
+# shared one
+Patch2: doxygen-no-shared-libs.patch
+# PATCH-FIX-UPSTREAM: add missing returns to non-void functions
+Patch3: vhdlparser-no-return.patch
BuildRequires: bison
-BuildRequires: fdupes
+BuildRequires: cmake >= 2.8.12
BuildRequires: flex
BuildRequires: gcc-c++
-BuildRequires: graphviz
-BuildRequires: libpng-devel
BuildRequires: python-base
BuildRequires: python-xml
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -44,57 +47,37 @@
manual (in LaTeX) from a set of documented source files. The
documentation is extracted directly from the sources. Doxygen is
developed on a Linux platform, but it runs on most other UNIX flavors
-as well. An executable for Windows 95/NT is also available.
-
-%package doc
-Summary: Documentation for %{name}
-Group: Documentation
-
-%description doc
-Doxygen is a documentation system for C, C++, Java, and IDL. It can
-generate an online class browser (in HTML) and an offline reference
-manual (in LaTeX) from a set of documented source files. The
-documentation is extracted directly from the sources. Doxygen is
-developed on a Linux platform, but it runs on most other UNIX flavors
-as well. An executable for Windows 95/NT is also available.
-
-This package contains only documentation
+as well.
%prep
%setup -q
%patch0
-%patch3
-%patch4
-%patch5 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
-mintoc=
-%ifarch ppc64
-mintoc="-DENGLISH_ONLY"
-%endif
-sed -i~ "/^TMAKE_CFLAGS_RELEASE.*/s@^.*@TMAKE_CFLAGS_RELEASE = %{optflags} $mintoc@" tmake/lib/linux-g++/tmake.conf
-# custom configure script
-./configure --prefix %{_prefix} --install %{_bindir}/install
+export CFLAGS="%{optflags} -fPIC"
+export CXXFLAGS="%{optflags} -fPIC"
+%cmake \
+ -Dbuild_doc=OFF \
+ -Dbuild_xmlparser=ON \
+ -Dbuild_search=OFF \
+ -Dbuild_wizard=OFF \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
+ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
+ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now"
make %{?_smp_mflags}
-# generate html documentation
-./bin/doxygen
-
%install
-install -d -m 755 %{buildroot}%{_docdir}/doxygen
-make install INSTALL=%{buildroot}/usr DOCDIR=%{buildroot}%{_docdir}/doxygen
-install -m 644 LICENSE LANGUAGE.HOWTO PLATFORMS README.md VERSION %{buildroot}%{_docdir}/doxygen
-cp -a doxygen_docs/html %{buildroot}%{_docdir}/%{name}-doc
-%fdupes -s %{buildroot}%{_docdir}/%{name}-doc
+%cmake_install
+mkdir -p %{buildroot}%{_mandir}/man1/
+install -m 644 doc/doxygen.1 %{buildroot}%{_mandir}/man1/
%files
%defattr(-,root,root)
%doc LICENSE
-%attr(444,root,root) %doc %{_mandir}/man1/doxygen.1.*
+%attr(444,root,root) %{_mandir}/man1/doxygen.1.gz
%attr(755,root,root) %{_bindir}/*
-%files doc
-%defattr(-,root,root)
-%doc %{_docdir}/%{name}-doc
-
%changelog
++++++ doxywizard.spec ++++++
--- /var/tmp/diff_new_pack.dHttbD/_old 2015-09-09 20:20:07.000000000 +0200
+++ /var/tmp/diff_new_pack.dHttbD/_new 2015-09-09 20:20:07.000000000 +0200
@@ -17,7 +17,7 @@
Name: doxywizard
-Version: 1.8.9.1
+Version: 1.8.10
Release: 0
Summary: Graphical User Interface for Doxygen
License: GPL-2.0+
@@ -25,29 +25,22 @@
Url: http://www.stack.nl/~dimitri/doxygen/
Source: http://ftp.stack.nl/pub/users/dimitri/doxygen-%{version}.src.tar.gz
Source1: doxywizard.desktop
-Patch0: doxygen-1.5.9-64archs.patch
-Patch2: %{name}-1.5.9-flex.patch
-Patch5: doxygen-1.5.9-man.patch
+# PATCH-FIX-UPSTREAM: declare static library where we don't want to provide
+# shared one
+Patch2: doxygen-no-shared-libs.patch
+# PATCH-FIX-UPSTREAM: add missing returns to non-void functions
+Patch3: vhdlparser-no-return.patch
BuildRequires: bison
+BuildRequires: cmake >= 2.8.12
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
-Requires: doxygen = %{version}
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version}
BuildRequires: libqt4-devel >= 4.3
BuildRequires: update-desktop-files
-%endif
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-BuildRequires: desktop-file-utils
-BuildRequires: qt4-devel >= 4.3.0
-%endif
-%if 0%{?mandriva_version} || 0%{?mdkversion}
-BuildRequires: libqt4-devel >= 4.3
-Requires(post): desktop-file-utils
-Requires(postun): desktop-file-utils
-%endif
+Requires: doxygen = %{version}
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1230 && 0%{?suse_version} != 1315
+# for make tests
BuildRequires: libxml2-tools
BuildRequires: texlive-bibtex
%endif
@@ -58,69 +51,39 @@
%prep
%setup -q -n doxygen-%{version}
-%patch0
-%patch2
-%patch5
+%patch2 -p1
+%patch3 -p1
%build
-%if 0%{?suse_version}
-export QTDIR=/usr
-%endif
-%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version}
-export QTDIR=%{_libdir}/qt4/
-export PATH=${QTDIR}/bin:${PATH}
-%endif
-%if 0%{?mandriva_version} || 0%{?mdkversion}
-export QTDIR=%{_libexecdir}/qt4/
-%if 0%{?mandriva_version} <= 2009 || 0%{?mdkversion} <= 200900
-export PATH=${QTDIR}/bin:${PATH}
-%endif
-%endif
-mintoc=
-%ifarch ppc64
-mintoc="-DENGLISH_ONLY"
-%endif
-sed -i~ "/^TMAKE_CFLAGS_RELEASE.*/s@^.*@TMAKE_CFLAGS_RELEASE = %{optflags} $mintoc@" tmake/lib/linux-g++/tmake.conf
-# custom configure script
-./configure --with-doxywizard
+export CFLAGS="%{optflags} -fPIC"
+export CXXFLAGS="%{optflags} -fPIC"
+%cmake \
+ -Dbuild_wizard=ON \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
+ -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now" \
+ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -pie -Wl,-z,relro,-z,now"
make %{?_smp_mflags}
%if 0%{?suse_version} > 1230 && 0%{?suse_version} != 1315
%check
-make test %{?_smp_mflags}
+# testing doxygen package here to avoid build
+# cycle between latex and doxygen
+pushd build
+make tests %{?_smp_mflags}
+popd
%endif
%install
-make install INSTALL=%{buildroot}/usr
-rm -f %{buildroot}%{_bindir}/{doxygen,doxytag}
-%if 0%{?suse_version}
- %suse_update_desktop_file -i doxywizard Development Documentation
-%endif
-%if 0%{?fedora_version}
- desktop-file-install --dir=%{buildroot}%{_datadir}/applications/ --add-category Development --add-category Documentation %{SOURCE1}
-%endif
-%if 0%{?mandriva_version} || 0%{?mdkversion}
- install -d -m 755 %{buildroot}%{_datadir}/applications/
- install %{SOURCE1} %{buildroot}%{_datadir}/applications/
-%endif
-rm -f %{buildroot}%{_mandir}/man1/{doxygen,doxytag}.1
+%cmake_install
+rm %{buildroot}%{_bindir}/doxygen
+mkdir -p %{buildroot}%{_mandir}/man1/
+install -m 644 doc/doxywizard.1 %{buildroot}%{_mandir}/man1/
+%suse_update_desktop_file -i doxywizard Development Documentation
%files
%defattr(-,root,root)
%attr(755,root,root) %{_bindir}/doxywizard
%{_datadir}/applications/doxywizard.desktop
-%attr(444,root,root) %doc %{_mandir}/man1/doxywizard.1.*
-
-%if 0%{?mandriva_version} || 0%{?mdkversion}
-%post
- %{update_menus}
- %{update_desktop_database}
-%endif
-
-%if 0%{?mandriva_version} || 0%{?mdkversion}
-%postun
- %{clean_menus}
- %{clean_desktop_database}
-%endif
+%{_mandir}/man1/doxywizard.1.gz
%changelog
++++++ doxygen-1.8.9.1.src.tar.gz -> doxygen-1.8.10.src.tar.gz ++++++
++++ 55975 lines of diff (skipped)
++++++ doxygen-modify_footer.patch ++++++
Index: Doxyfile
===================================================================
--- Doxyfile.orig 2014-02-08 14:06:14.000000000 +0100
+++ Doxyfile 2014-05-13 09:07:52.475141202 +0200
@@ -148,7 +148,7 @@
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
-HTML_TIMESTAMP = YES
+HTML_TIMESTAMP = NO
HTML_DYNAMIC_SECTIONS = YES
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = YES
++++++ doxygen-no-lowercase-man-names.patch ++++++
--- /var/tmp/diff_new_pack.dHttbD/_old 2015-09-09 20:20:08.000000000 +0200
+++ /var/tmp/diff_new_pack.dHttbD/_new 2015-09-09 20:20:08.000000000 +0200
@@ -1,8 +1,8 @@
-Index: doxygen-1.8.1/src/fortranscanner.l
+Index: doxygen-1.8.10/src/fortranscanner.l
===================================================================
---- doxygen-1.8.1.orig/src/fortranscanner.l
-+++ doxygen-1.8.1/src/fortranscanner.l
-@@ -1892,7 +1891,6 @@ static void initEntry()
+--- doxygen-1.8.10.orig/src/fortranscanner.l
++++ doxygen-1.8.10/src/fortranscanner.l
+@@ -2090,7 +2090,6 @@ static void initEntry()
*/
static void addCurrentEntry(int case_insens)
{
++++++ doxygen-no-shared-libs.patch ++++++
Index: doxygen-1.8.10/libmd5/CMakeLists.txt
===================================================================
--- doxygen-1.8.10.orig/libmd5/CMakeLists.txt
+++ doxygen-1.8.10/libmd5/CMakeLists.txt
@@ -1,3 +1,3 @@
-add_library(md5
+add_library(md5 STATIC
md5.c
)
Index: doxygen-1.8.10/qtools/CMakeLists.txt
===================================================================
--- doxygen-1.8.10.orig/qtools/CMakeLists.txt
+++ doxygen-1.8.10/qtools/CMakeLists.txt
@@ -52,6 +52,6 @@ qwaitcondition_win32.cpp
)
endif()
-add_library(qtools
+add_library(qtools STATIC
${qtools_src}
)
Index: doxygen-1.8.10/src/CMakeLists.txt
===================================================================
--- doxygen-1.8.10.orig/src/CMakeLists.txt
+++ doxygen-1.8.10/src/CMakeLists.txt
@@ -106,7 +106,7 @@ FLEX_TARGET(config config.l
BISON_TARGET(vhdlparser vhdlparser.y ${GENERATED_SRC}/vhdlparser.cpp COMPILE_FLAGS "-l -p vhdlscannerYY")
BISON_TARGET(constexp constexp.y ${GENERATED_SRC}/ce_parse.cpp COMPILE_FLAGS "-l -p constexpYY")
-add_library(doxycfg
+add_library(doxycfg STATIC
${GENERATED_SRC}/lang_cfg.h
${GENERATED_SRC}/config.cpp
${GENERATED_SRC}/configoptions.cpp
@@ -114,7 +114,7 @@ add_library(doxycfg
portable_c.c
)
-add_library(_doxygen
+add_library(_doxygen STATIC
# custom generated files
${GENERATED_SRC}/lang_cfg.h
${GENERATED_SRC}/settings.h
Index: doxygen-1.8.10/vhdlparser/CMakeLists.txt
===================================================================
--- doxygen-1.8.10.orig/vhdlparser/CMakeLists.txt
+++ doxygen-1.8.10/vhdlparser/CMakeLists.txt
@@ -1,5 +1,5 @@
include_directories(${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/qtools)
-add_library(vhdlparser
+add_library(vhdlparser STATIC
CharStream.cc
ParseException.cc
Token.cc
++++++ vhdlparser-no-return.patch ++++++
Index: doxygen-1.8.10/vhdlparser/VhdlParser.cc
===================================================================
--- doxygen-1.8.10.orig/vhdlparser/VhdlParser.cc
+++ doxygen-1.8.10/vhdlparser/VhdlParser.cc
@@ -62,6 +62,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -118,6 +119,7 @@ return str;
}
}
assert(false);
+return QCString();
}
@@ -187,6 +189,7 @@ s+="(";s+=s1+")";return s;
}
}
assert(false);
+return QCString();
}
@@ -231,6 +234,7 @@ return "&";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -403,6 +407,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -634,6 +639,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -847,6 +853,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -1718,6 +1725,7 @@ return " others ";
}
}
assert(false);
+return QCString();
}
@@ -2009,6 +2017,7 @@ return s+"#";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -2621,6 +2630,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -2712,6 +2722,7 @@ return s+" inertial ";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -2813,6 +2824,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -2846,6 +2858,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -2913,6 +2926,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -3043,6 +3057,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -3241,6 +3256,7 @@ return "file";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -3728,6 +3744,7 @@ return "all";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -3844,6 +3861,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -3878,6 +3896,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -4116,6 +4135,7 @@ return "or" ;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -4212,6 +4232,7 @@ s1="not ";return s1+s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -4363,6 +4384,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -4683,6 +4705,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -4844,6 +4867,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -5130,6 +5154,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -5248,6 +5273,7 @@ s1="configuration ";return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -5293,6 +5319,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -5401,6 +5428,7 @@ if (parse_sec==GEN_SEC)
}
}
assert(false);
+return QCString();
}
@@ -5666,6 +5694,7 @@ QCString q=lab+" for "+s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -5743,6 +5772,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -5805,6 +5835,7 @@ return "null";
}
}
assert(false);
+return QCString();
}
@@ -5950,6 +5981,7 @@ return "not";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -6016,6 +6048,7 @@ return "linkage";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -6071,6 +6104,7 @@ return tok->image.c_str();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -6511,6 +6545,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -6592,6 +6627,7 @@ return "type";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -7402,6 +7438,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -7674,6 +7711,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -8033,6 +8071,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -8212,6 +8251,7 @@ return "/=";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -8384,6 +8424,7 @@ return s+" "+s1+"%";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -8745,6 +8786,7 @@ FlowChart::addFlowChart(FlowChart::TEXT_
}
}
assert(false);
+return QCString();
}
@@ -8856,6 +8898,7 @@ return "ror";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -8889,6 +8932,7 @@ return "-";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -8983,6 +9027,7 @@ return s+s1+"<="+s2+s3+";";
}
}
assert(false);
+return QCString();
}
@@ -9087,6 +9132,7 @@ return "bus";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -9157,6 +9203,7 @@ return "all";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -9630,6 +9677,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -10045,6 +10093,7 @@ return " all ";
}
}
assert(false);
+return QCString();
}
@@ -10081,6 +10130,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -10183,6 +10233,7 @@ return s;
}
}
assert(false);
+return QCString();
}
@@ -10267,6 +10318,7 @@ return "";
}
}
assert(false);
+return QCString();
}
@@ -10458,6 +10510,7 @@ return "";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -10692,6 +10745,7 @@ return " unaffected ";
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -11176,6 +11230,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -11666,6 +11721,7 @@ return t->image.data();
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -11710,6 +11766,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
@@ -11755,6 +11812,7 @@ return "."+s;
}
}
assert(false);
+return QCString();
}
@@ -12557,6 +12615,7 @@ return s;
errorHandler->handleParseError(token, getToken(1), __FUNCTION__, this), hasError = true;
}
assert(false);
+return QCString();
}
1
0
Hello community,
here is the log from the commit of package libdatrie for openSUSE:Factory checked in at 2015-09-09 20:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdatrie (Old)
and /work/SRC/openSUSE:Factory/.libdatrie.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdatrie"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdatrie/libdatrie.changes 2015-02-06 22:36:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libdatrie.new/libdatrie.changes 2015-09-09 20:19:59.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Aug 18 14:48:57 UTC 2015 - pgajdos(a)suse.com
+
+- update to version 0.2.9
+ * Fix infinite loop on empty trie iteration.
+ * Document about alphabet size.
+ * Disable timestamp in Doxygen-generated doc.
+ * etc. see ChangeLog
+- remove libdatrie-doxygen-found-is-enough.patch in favour of
+ libdatrie-doxygen-version-check.patch
+
+-------------------------------------------------------------------
+Tue Aug 18 11:28:57 UTC 2015 - dimstar(a)opensuse.org
+
+- Add libdatrie-doxygen-found-is-enough.patch: when we find
+ doxygen, we assume it is new enough. The configure script uses
+ 'expr 1.8.4 \< $DOXYGEN_VER', which returns false for 1.8.10.
+- For safeguard, we specify the minimal required version of
+ doxygen (1.8.4) in the buildrequirements.
+
+-------------------------------------------------------------------
Old:
----
libdatrie-0.2.8.tar.xz
New:
----
libdatrie-0.2.9.tar.xz
libdatrie-doxygen-version-check.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdatrie.spec ++++++
--- /var/tmp/diff_new_pack.lsYn7y/_old 2015-09-09 20:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.lsYn7y/_new 2015-09-09 20:20:00.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libdatrie
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,19 @@
Name: libdatrie
-Version: 0.2.8
+Version: 0.2.9
Release: 0
Summary: Double-Array Trie Library
License: LGPL-2.1
Group: System/Libraries
Url: http://linux.thai.net/~thep/datrie/datrie.html
-Source: ftp://linux.thai.net/pub/ThaiLinux/software/libthai/%{name}-%{version}.tar.…
+Source: http://linux.thai.net/pub/thailinux/software/libthai/%{name}-%{version}.tar…
Source99: baselibs.conf
+# sent upstream (theppitak(a)gmail.com)
+Patch0: libdatrie-doxygen-version-check.patch
+BuildRequires: autoconf-archive
BuildRequires: doxygen
+BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -55,8 +59,10 @@
%prep
%setup -q
+%patch0 -p1
%build
+autoreconf -fiv
%configure \
--disable-static --with-pic \
--with-html-docdir=%{_docdir}/libdatrie/html
@@ -79,8 +85,8 @@
%files devel
%defattr(-,root,root)
-%{_bindir}/trietool-0.2
-%doc %{_mandir}/man*/trietool-0.2.*
+%{_bindir}/trietool*
+%doc %{_mandir}/man*/trietool*.1.gz
%{_includedir}/datrie/
%{_libdir}/libdatrie.so
%{_libdir}/pkgconfig/datrie-0.2.pc
++++++ libdatrie-0.2.8.tar.xz -> libdatrie-0.2.9.tar.xz ++++++
++++ 6053 lines of diff (skipped)
++++++ libdatrie-doxygen-version-check.patch ++++++
--- libdatrie-0.2.8/configure.ac 2014-01-10 05:20:37.000000000 +0100
+++ libdatrie-0.2.8/configure.ac 2015-08-18 16:42:15.274113614 +0200
@@ -112,12 +112,9 @@ if test "x$enable_doxygen_doc" = "xyes";
else
AC_MSG_CHECKING([doxygen >= $DOXYGEN_REQ_VER])
DOXYGEN_VER=$($DOXYGEN --version)
- if expr $DOXYGEN_VER \< $DOXYGEN_REQ_VER > /dev/null; then
- AC_MSG_RESULT([$DOXYGEN_VER, no, documentation disabled])
- enable_doxygen_doc="no"
- else
- AC_MSG_RESULT([$DOXYGEN_VER, yes])
- fi
+ AX_COMPARE_VERSION([$DOXYGEN_VER],[ge],[DOXYGEN_REQ_VER],
+ [AC_MSG_RESULT([$DOXYGEN_VER, yes])],
+ [AC_MSG_RESULT([$DOXYGEN_VER, no, documentation disabled]); enable_doxygen_doc="no"])
fi
fi
1
0
Hello community,
here is the log from the commit of package remmina for openSUSE:Factory checked in at 2015-09-08 17:46:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/remmina (Old)
and /work/SRC/openSUSE:Factory/.remmina.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "remmina"
Changes:
--------
--- /work/SRC/openSUSE:Factory/remmina/remmina.changes 2015-01-22 21:50:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.remmina.new/remmina.changes 2015-09-08 18:13:46.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 4 13:36:41 UTC 2015 - dimstar(a)opensuse.org
+
+- openSUSE Leap 42.1 (suse_version 1315) also has vte-2.91.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ remmina.spec ++++++
--- /var/tmp/diff_new_pack.F9cmpU/_old 2015-09-08 18:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.F9cmpU/_new 2015-09-08 18:13:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package remmina
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -68,7 +68,7 @@
BuildRequires: pkgconfig(unique-1.0)
BuildRequires: pkgconfig(xkbfile)
# vte-2.90 has been dropped from newer releases
-%if 0%{?suse_version} < 1320
+%if 0%{?suse_version} < 1315
BuildRequires: pkgconfig(vte-2.90)
%else
BuildRequires: pkgconfig(vte-2.91)
1
0
Hello community,
here is the log from the commit of package calibre for openSUSE:Factory checked in at 2015-09-08 17:46:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calibre (Old)
and /work/SRC/openSUSE:Factory/.calibre.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calibre"
Changes:
--------
--- /work/SRC/openSUSE:Factory/calibre/calibre.changes 2015-08-31 22:59:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.calibre.new/calibre.changes 2015-09-08 18:12:20.000000000 +0200
@@ -1,0 +2,15 @@
+Tue Sep 8 13:53:55 UTC 2015 - cornelis(a)solcon.nl
+
+- Update to 2.37.1:
+ * Driver for the Lark Freebook reader device.
+ * A redesigned busy spinner.
+ * When merging book records, show more information about the
+ target book record.
+ * A new icon theme 'Dark Blue' (Preferences->Look & Feel->Change
+ icon theme).
+ * Add a check box to control copying ebook files when
+ duplicating book records via the Add Empty Book dialog.
+ * Bugfixes
+ * For details see http://calibre-ebook.com/whats-new
+
+-------------------------------------------------------------------
Old:
----
calibre-2.36.0.tar.xz
New:
----
calibre-2.37.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.xyzura/_old 2015-09-08 18:13:46.000000000 +0200
+++ /var/tmp/diff_new_pack.xyzura/_new 2015-09-08 18:13:46.000000000 +0200
@@ -20,7 +20,7 @@
License: GPL-3.0
Group: Productivity/Other
Name: calibre
-Version: 2.36.0
+Version: 2.37.1
Release: 0
Url: http://calibre-ebook.com
Source0: http://download.calibre-ebook.com/%{version}/calibre-%{version}.tar.xz
++++++ calibre-2.36.0.tar.xz -> calibre-2.37.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/calibre/calibre-2.36.0.tar.xz /work/SRC/openSUSE:Factory/.calibre.new/calibre-2.37.1.tar.xz differ: char 25, line 1
1
0
Hello community,
here is the log from the commit of package vacation for openSUSE:Factory checked in at 2015-09-08 17:46:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vacation (Old)
and /work/SRC/openSUSE:Factory/.vacation.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vacation"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vacation/vacation.changes 2014-10-22 16:22:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vacation.new/vacation.changes 2015-09-08 18:12:18.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Sep 8 12:28:48 UTC 2015 - werner(a)suse.de
+
+- Add backport of upstream patch
+ 0001-Patch-to-handle-long-folded-headers-from-Zdenek-Havr.patch
+ to allow long From header (two lines) handled correctly (bsc#944326)
+- Add patch vacation-1.2.7.1-junkfilter.diff
+ to handle spam found by junkfilter
+
+-------------------------------------------------------------------
New:
----
0001-Patch-to-handle-long-folded-headers-from-Zdenek-Havr.patch
vacation-1.2.7.1-junkfilter.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vacation.spec ++++++
--- /var/tmp/diff_new_pack.zqnq1z/_old 2015-09-08 18:12:19.000000000 +0200
+++ /var/tmp/diff_new_pack.zqnq1z/_new 2015-09-08 18:12:19.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package vacation
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,10 @@
Patch: vacation-%{version}.diff
Patch1: vacation-%{version}.multiple-vacationmsg_files.diff
Patch3: vacation-%{version}.strip.diff
+# PATCH-FIX-UPSTREAM bsc#944326 - long From: header (two lines) not handled correctly
+Patch4: 0001-Patch-to-handle-long-folded-headers-from-Zdenek-Havr.patch
+# PATCH-FIX-SUSE Also handle junkfilter based on procmail
+Patch5: vacation-%{version}-junkfilter.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gdbm-devel
@@ -48,6 +52,8 @@
%patch
%patch1
%patch3
+%patch4
+%patch5
%build
# %ifarch ia64 x86_64 s390x ppc64
++++++ 0001-Patch-to-handle-long-folded-headers-from-Zdenek-Havr.patch ++++++
Basedo on 2ee6b2d137da843737fadd2fcdd7349600020f77 Mon Sep 17 00:00:00 2001
From: Chris Samuel <chris(a)csamuel.org>
Date: Sun, 1 Dec 2013 23:28:50 +1100
Subject: [PATCH] Patch to handle long (folded) headers from Zdenek Havranek
---
ChangeLog | 3 +++
vacation.c | 23 +++++++++++++++++++----
5 files changed, 33 insertions(+), 18 deletions(-)
--- ChangeLog
+++ ChangeLog 2015-09-08 12:14:58.201720884 +0000
@@ -1,3 +1,6 @@
+2013/12/01
+- Patch to handle long (folded) headers from Zdenek Havranek
+
2011/11/06
- Fix location for tarballs in the vacation.spec file.
- Tagged and released Vacation 1.2.7.1.
--- vacation.c
+++ vacation.c 2015-09-08 12:20:01.137625786 +0000
@@ -394,13 +394,25 @@ readheaders (void)
register ALIAS *cur;
register char *p;
int tome, cont;
- char buf[MAXLINE];
+ char buf[MAXLINE]; /* actual line */
+ char buf2[MAXLINE]; /* next line */
char uucpfrom[MAXLINE];
/* char sender[MAXLINE]; */
/* char domain[MAXLINE]; */
cont = tome = 0;
- while (fgets (buf, sizeof (buf), stdin) && *buf != '\n')
+ fgets (buf, sizeof (buf), stdin);
+ if (*buf != '\n')
+ fgets (buf2, sizeof (buf2), stdin);
+ while (*buf != '\n')
+ {
+ while (*buf2 != '\n' && ((buf2)[0] == ' ' || (buf2)[0] == '\t') &&
+ strlen (buf) + strlen (buf2) < MAXLINE) /* only to buf capacity */
+ { /* it's OK for "From:" and it doesn't matter for "To:" and "Cc:" */
+ (buf)[strlen (buf) - 1] = '\0'; /* remove '\n' */
+ strlcat (buf, buf2, MAXLINE);
+ fgets (buf2, sizeof (buf2), stdin);
+ }
switch (toupper (*buf))
{
case 'F': /* "From: " or "From " */
@@ -527,8 +539,11 @@ readheaders (void)
findme:
for (cur = names; !tome && cur; cur = cur->next)
tome += nsearch (cur->name, buf);
- } /* switch(toupper(*buf)) */
-
+ }
+ strlcpy (buf, buf2, MAXLINE);
+ if (*buf != '\n')
+ fgets (buf2, sizeof (buf2), stdin);
+ }
if (!jflag && !tome)
EXITIT (0);
if (!*from)
++++++ vacation-1.2.7.1-junkfilter.diff ++++++
---
vacation.c | 2 ++
1 file changed, 2 insertions(+)
--- vacation.c
+++ vacation.c 2015-09-08 11:42:13.174019039 +0000
@@ -508,6 +508,8 @@ readheaders (void)
cont = 0;
if (strncasecmp(buf, "X-Spam-Flag: YES", 16) == 0)
EXITIT (0);
+ if (strncasecmp(buf, "X-Is-Junk: YES", 14) == 0)
+ EXITIT (0);
case 'C': /* "Cc:" */
if (strncasecmp (buf, "Cc:", 3))
break;
1
0
Hello community,
here is the log from the commit of package mlterm for openSUSE:Factory checked in at 2015-09-08 17:46:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mlterm (Old)
and /work/SRC/openSUSE:Factory/.mlterm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mlterm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mlterm/mlterm.changes 2015-05-15 09:03:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mlterm.new/mlterm.changes 2015-09-08 18:12:09.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 16:55:03 CEST 2015 - tiwai(a)suse.de
+
+- Run spec-cleaner
+- Disable scim and uim plugins for SLE12 and openSUSE Leap builds
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mlterm.spec ++++++
--- /var/tmp/diff_new_pack.OU19sB/_old 2015-09-08 18:12:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OU19sB/_new 2015-09-08 18:12:18.000000000 +0200
@@ -17,37 +17,44 @@
Name: mlterm
+Version: 3.4.5
+Release: 0
+Summary: Multilingual Terminal Emulator for X
+License: BSD-3-Clause
+Group: System/X11/Terminals
+Url: http://mlterm.sourceforge.net/
+# cvs -d :pserver:anonymous@mlterm.cvs.sourceforge.net:/cvsroot/mlterm login
+# (hit Enter)
+# cvs -d :pserver:anonymous@mlterm.cvs.sourceforge.net:/cvsroot/mlterm checkout mlterm
+# cvs -z3 -d:ext:mfabian@mlterm.cvs.sourceforge.net:/cvsroot/mlterm co mlterm
+# tar jcvf mlterm-2.7.0.tar.bz2 mlterm
+Source0: http://downloads.sourceforge.net/project/mlterm/01release/%{name}-%{version…
+Source10: %{name}.desktop
+Source11: %{name}.png
+Patch0: etc.patch
BuildRequires: coreutils
BuildRequires: fribidi-devel
BuildRequires: gcc-c++
BuildRequires: gtk2-devel
BuildRequires: m17n-lib-devel
+%if 0%{?suse_version} != 1315
BuildRequires: scim-devel
BuildRequires: uim-devel
+%endif
BuildRequires: update-desktop-files
BuildRequires: wordcut-devel
+Provides: locale(xorg-x11:ja;ko;zh;ar;he)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} > 1130
BuildRequires: utempter-devel
%else
BuildRequires: utempter
%endif
-Provides: locale(xorg-x11:ja;ko;zh;ar;he)
-Version: 3.4.5
-Release: 0
-Url: http://mlterm.sourceforge.net/
-# cvs -d :pserver:anonymous@mlterm.cvs.sourceforge.net:/cvsroot/mlterm login
-# (hit Enter)
-# cvs -d :pserver:anonymous@mlterm.cvs.sourceforge.net:/cvsroot/mlterm checkout mlterm
-# cvs -z3 -d:ext:mfabian@mlterm.cvs.sourceforge.net:/cvsroot/mlterm co mlterm
-# tar jcvf mlterm-2.7.0.tar.bz2 mlterm
-Source0: http://downloads.sourceforge.net/project/mlterm/01release/%{name}-%{version…
-Source10: %name.desktop
-Source11: %name.png
-Patch0: etc.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Summary: Multilingual Terminal Emulator for X
-License: BSD-3-Clause
-Group: System/X11/Terminals
+%if 0%{?suse_version} == 1315
+# for migration
+Obsoletes: mlterm-scim
+Obsoletes: mlterm-uim
+%endif
%description
Mlterm is a multilingual terminal emulator for the X Window System.
@@ -84,55 +91,33 @@
* scrollbar plug-in API (unstable)
-
-
-Authors:
---------
- Araki Ken <j00v0113(a)ip.media.kyoto-u.ac.jp>
-
-%package -n mlterm-scim
+%if 0%{?suse_version} != 1315
+%package scim
Summary: SCIM plugin for mlterm
Group: System/X11/Terminals
Provides: locale(scim:ja;ko;ar;he)
-%description -n mlterm-scim
+%description scim
A plugin to use the SCIM input methods directly from mlterm.
-
-
-Authors:
---------
- Araki Ken <j00v0113(a)ip.media.kyoto-u.ac.jp>
-
-%package -n mlterm-uim
+%package uim
Summary: An uim plugin for mlterm
Group: System/X11/Terminals
Provides: locale(uim:ja;ko;ar;he)
-%description -n mlterm-uim
+%description uim
A plugin to use the uim input methods directly from mlterm.
+%endif
-
-
-Authors:
---------
- Araki Ken <j00v0113(a)ip.media.kyoto-u.ac.jp>
-
-%package -n mlterm-m17n
+%package m17n
Summary: A m17n plugin for mlterm
Group: System/X11/Terminals
Provides: locale(m17n:ja;ko;zh;ar;he)
-%description -n mlterm-m17n
+%description m17n
A plugin to use the m17n input methods directly from mlterm.
-
-
-Authors:
---------
- Araki Ken <j00v0113(a)ip.media.kyoto-u.ac.jp>
-
-%define pixmapdir /usr/share/pixmaps
+%define pixmapdir %{_datadir}/pixmaps
%prep
%setup -q
@@ -140,37 +125,40 @@
rm -rf doc/{en,ja}/*win32
%build
-export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -fno-strict-aliasing $(/usr/bin/freetype-config --cflags) -DUSE_UTMP"
+export CFLAGS="%{optflags} -D_GNU_SOURCE -fno-strict-aliasing $(%{_bindir}/freetype-config --cflags) -DUSE_UTMP"
%configure --enable-static=no \
- --prefix=/usr \
+ --prefix=%{_prefix} \
--libexecdir=%{_libdir}/mlterm \
- --sysconfdir=/etc/X11 \
+ --sysconfdir=%{_sysconfdir}/X11 \
--enable-anti-alias \
--enable-fribidi \
- --enable-uim \
--enable-m17nlib \
+%if 0%{?suse_version} != 1315
+ --enable-scim \
+ --enable-uim \
+%endif
--with-tools=mlclient,mlconfig,mlterm-menu,mlcc,mlterm-zoom,mlimgloader \
--with-scrollbars=sample,extra \
- --with-type-engines=xcore,xft \
- --enable-scim
-make %{?jobs:-j %jobs}
+ --with-type-engines=xcore,xft
+
+make %{?_smp_mflags}
%install
-make DESTDIR=$RPM_BUILD_ROOT install
-mkdir -p $RPM_BUILD_ROOT%{pixmapdir}
-install -m 644 doc/icon/mlterm*xpm $RPM_BUILD_ROOT%{pixmapdir}
-install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{pixmapdir}
-install -m 644 contrib/tool/mlterm-menu/menu $RPM_BUILD_ROOT/etc/X11/mlterm/
-mv $RPM_BUILD_ROOT/usr/%{_lib}/mlterm/mlterm/mlterm-zoom \
- $RPM_BUILD_ROOT/usr/bin/mlterm-zoom
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
+mkdir -p %{buildroot}%{pixmapdir}
+install -m 644 doc/icon/mlterm*xpm %{buildroot}%{pixmapdir}
+install -m 644 %{SOURCE11} %{buildroot}%{pixmapdir}
+install -m 644 contrib/tool/mlterm-menu/menu %{buildroot}%{_sysconfdir}/X11/mlterm/
+mv %{buildroot}%{_libdir}/mlterm/mlterm/mlterm-zoom \
+ %{buildroot}%{_bindir}/mlterm-zoom
# remove static libraries in plugin directory:
# (mlconfig duplicates buttons when the static libraries are still there!)
-rm $RPM_BUILD_ROOT%{_libdir}/mlterm/*.*a
+rm %{buildroot}%{_libdir}/mlterm/*.*a
# ditto for libkik and libmkf
-rm $RPM_BUILD_ROOT%{_libdir}/lib*.*a
-rm $RPM_BUILD_ROOT%{_libdir}/mkf/*.*a
+rm %{buildroot}%{_libdir}/lib*.*a
+rm %{buildroot}%{_libdir}/mkf/*.*a
%find_lang mlconfig
-%suse_update_desktop_file -i %name TerminalEmulator
+%suse_update_desktop_file -i %{name} TerminalEmulator
%post -p /sbin/ldconfig
@@ -179,12 +167,12 @@
%files -f mlconfig.lang
%defattr(-, root, root)
%doc LICENCE* README* doc/en doc/ja
-%attr(555,root,tty) /usr/bin/mlterm
-/usr/share/applications/%name.desktop
-/usr/bin/mlclient
-/usr/bin/mlclientx
-/usr/bin/mlcc
-/usr/bin/mlterm-zoom
+%attr(555,root,tty) %{_bindir}/mlterm
+%{_datadir}/applications/%{name}.desktop
+%{_bindir}/mlclient
+%{_bindir}/mlclientx
+%{_bindir}/mlcc
+%{_bindir}/mlterm-zoom
%{_libdir}/libkik.*
%{_libdir}/libmkf.*
%{_libdir}/libmlterm_core.so
@@ -203,20 +191,22 @@
%{_libdir}/mkf/*.so
%{_libdir}/mlterm/mlterm/mlconfig
%{_libdir}/mlterm/mlterm/mlterm-menu
-%dir /etc/X11/mlterm/
-%config /etc/X11/mlterm/*
+%dir %{_sysconfdir}/X11/mlterm/
+%config %{_sysconfdir}/X11/mlterm/*
%{_mandir}/man?/*
%{pixmapdir}/*
-%files -n mlterm-scim
+%if 0%{?suse_version} != 1315
+%files scim
%defattr(-, root, root)
%{_libdir}/mlterm/libim-scim.so
-%files -n mlterm-uim
+%files uim
%defattr(-, root, root)
%{_libdir}/mlterm/libim-uim.so
+%endif
-%files -n mlterm-m17n
+%files m17n
%defattr(-, root, root)
%{_libdir}/mlterm/libim-m17nlib.so
1
0
Hello community,
here is the log from the commit of package cyrus-imapd for openSUSE:Factory checked in at 2015-09-08 17:46:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cyrus-imapd (Old)
and /work/SRC/openSUSE:Factory/.cyrus-imapd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cyrus-imapd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cyrus-imapd/cyrus-imapd.changes 2014-12-16 14:49:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.cyrus-imapd.new/cyrus-imapd.changes 2015-09-08 18:12:02.000000000 +0200
@@ -1,0 +2,35 @@
+Sun Aug 23 11:00:50 UTC 2015 - aj(a)ajaissle.de
+
+- Update to 2.4.18
+ * Security fix: handle urlfetch range starting outside message range
+ * A bunch of cleanups and fixes to compiling
+ * A bunch of sieve cleanups
+ * Enhanced SSL/TLS configuration options
+ * Disable use of SSLv2/SSLv3
+ * Allow SQL backend for mboxlist and statuscache (thanks Julien Coloos)
+ * Fixed Task #116: correct LIST response for domains starting with ‘inbox.’
+ * Fixed Task #76: fixed lmtpd userdeny db checks (thanks Leena Heino)
+ * Fixed bug #3856: lmtpd now performs userdeny checks
+ * Fixed bug #3848: support charset aliases in encoded headers
+ * Fixed bug #3853: disconnect_on_vanished_mailbox: release mailbox lock before exiting (thanks Wolfgang Breyha)
+ * Fixed bug #3415: fixed nntpd LIST/GROUP bug
+ * Fixed bug #3784: no longer crash in THREAD REFERENCES when messages reference themselves
+ * Fixed bug #3757: don’t segfault on mailbox close with no user
+ * New ssl/tls configuration options
+ tls_compression: 0
+ Enable TLS compression. Disabled by default.
+ tls_eccurve: prime256v1
+ Select the elliptic curve used for ECDHE.
+ tls_prefer_server_ciphers: 0
+ Prefer the cipher order configured on the server-side.
+ tls_versions: tls1_0 tls1_1 tls1_2
+ Disable SSL/TLS protocols not in this list.
+
+- Removed the following patches (included upstream):
+ - cyrus-imapd-2.4.17_tls-session-leak.patch
+ - cyrus-imapd.tls_options.patch
+
+- Added patch cyrus-imapd-2.4.18-implicit_definitions.patch:
+ - Have the correct #include when using implicit definitions
+
+-------------------------------------------------------------------
Old:
----
cyrus-imapd-2.4.17.tar.gz
cyrus-imapd-2.4.17_tls-session-leak.patch
cyrus-imapd.tls_options.patch
New:
----
cyrus-imapd-2.4.18-implicit_definitions.patch
cyrus-imapd-2.4.18.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cyrus-imapd.spec ++++++
--- /var/tmp/diff_new_pack.To4tEs/_old 2015-09-08 18:12:08.000000000 +0200
+++ /var/tmp/diff_new_pack.To4tEs/_new 2015-09-08 18:12:08.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package cyrus-imapd
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -33,7 +33,7 @@
%endif
Name: cyrus-imapd
-Version: 2.4.17
+Version: 2.4.18
Release: 0
Summary: The Cyrus IMAP and POP Mail Server
License: BSD-3-Clause
@@ -62,12 +62,10 @@
Patch12: cyrus-imapd-2.4.17_pie.patch
# PATCH-FIX-UPSTREAM -- Support db-6.0
Patch25: cyrus-imapd-2.4.17_db6.patch
-# PATCH-FIX-UPSTREAM -- Fix TLS session leak // included in 2.4next
-Patch26: cyrus-imapd-2.4.17_tls-session-leak.patch
# PATCH-FEATURE-UPSTREAM -- Allow a result attribute to be specified with ptclient/ldap.c // included in 2.5
Patch27: cyrus-imapd-2.4.17_ptloader-ldap_user_attribute.patch
-# PATCH-FIX-UPSTREAM -- Allow to configure TLS more detailed (e.g. to fix POODLE an add PFS)
-Patch28: cyrus-imapd.tls_options.patch
+# PATCH-FIX-UPSTREAM -- Have the correct #include when using implicit definitions
+Patch28: cyrus-imapd-2.4.18-implicit_definitions.patch
BuildRequires: automake
BuildRequires: bison
@@ -225,7 +223,6 @@
%patch10 -p1
%patch12 -p1
%patch25 -p1
-%patch26 -p1
%patch27 -p1
%patch28 -p1
++++++ cyrus-imapd-2.4.18-implicit_definitions.patch ++++++
diff -Ppru cyrus-imapd-2.4.18.orig/lib/strarray.c cyrus-imapd-2.4.18.impl/lib/strarray.c
--- cyrus-imapd-2.4.18.orig/lib/strarray.c 2015-07-06 05:38:29.000000000 +0200
+++ cyrus-imapd-2.4.18.impl/lib/strarray.c 2015-08-31 17:28:35.256727763 +0200
@@ -43,6 +43,7 @@
* Start Date: 2011/01/11
*/
+#include <ctype.h>
#include "strarray.h"
#include <memory.h>
#include "util.h" /* for strcmpsafe et al */
diff -Ppru cyrus-imapd-2.4.18.orig/sieve/flags.c cyrus-imapd-2.4.18.impl/sieve/flags.c
--- cyrus-imapd-2.4.18.orig/sieve/flags.c 2015-07-06 05:38:29.000000000 +0200
+++ cyrus-imapd-2.4.18.impl/sieve/flags.c 2015-08-31 17:29:11.323443879 +0200
@@ -8,6 +8,7 @@
#include "flags.h"
#include "imparse.h"
#include "strarray.h"
+#include <string.h>
#include "util.h"
#include "xmalloc.h"
++++++ cyrus-imapd-2.4.17.tar.gz -> cyrus-imapd-2.4.18.tar.gz ++++++
++++ 13273 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2015-09-08 17:45:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haproxy (Old)
and /work/SRC/openSUSE:Factory/.haproxy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2015-07-05 18:03:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2015-09-08 18:11:56.000000000 +0200
@@ -1,0 +2,41 @@
+Tue Sep 8 09:10:02 UTC 2015 - kgronlund(a)suse.com
+
+- Backport patches from upstream:
+ - BUG/MINOR: http: remove stupid HTTP_METH_NONE entry
+ - BUG/MAJOR: http: don't call http_send_name_header() after an error
+- Add 0014-BUG-MINOR-http-remove-stupid-HTTP_METH_NONE-entry.patch
+- Add 0015-BUG-MAJOR-http-don-t-call-http_send_name_header-afte.patch
+
+-------------------------------------------------------------------
+Wed Aug 26 22:47:34 UTC 2015 - kgronlund(a)suse.com
+
+- Backport patches from upstream:
+ - BUG/MINOR: log: missing some ARGC_* entries in fmt_directives()
+ - DOC: usesrc root privileges requirements
+ - BUILD: ssl: Allow building against libssl without SSLv3.
+ - DOC/MINOR: fix OpenBSD versions where haproxy works
+ - BUG/MINOR: http/sample: gmtime/localtime can fail
+ - DOC: typo in 'redirect', 302 code meaning
+ - DOC: mention that %ms is left-padded with zeroes.
+ - CLEANUP: .gitignore: ignore more test files
+ - CLEANUP: .gitignore: finally ignore everything but what is known.
+ - MEDIUM: config: emit a warning on a frontend without listener
+ - BUG/MEDIUM: counters: ensure that src_{inc,clr}_gpc0 creates a missing entry
+ - DOC: ssl: missing LF
+ - DOC: fix example of http-request using ssl_fc_session_id
+
+- Add 0001-BUG-MINOR-log-missing-some-ARGC_-entries-in-fmt_dire.patch
+- Add 0002-DOC-usesrc-root-privileges-requirements.patch
+- Add 0003-BUILD-ssl-Allow-building-against-libssl-without-SSLv.patch
+- Add 0004-DOC-MINOR-fix-OpenBSD-versions-where-haproxy-works.patch
+- Add 0005-BUG-MINOR-http-sample-gmtime-localtime-can-fail.patch
+- Add 0006-DOC-typo-in-redirect-302-code-meaning.patch
+- Add 0007-DOC-mention-that-ms-is-left-padded-with-zeroes.patch
+- Add 0008-CLEANUP-.gitignore-ignore-more-test-files.patch
+- Add 0009-CLEANUP-.gitignore-finally-ignore-everything-but-wha.patch
+- Add 0010-MEDIUM-config-emit-a-warning-on-a-frontend-without-l.patch
+- Add 0011-BUG-MEDIUM-counters-ensure-that-src_-inc-clr-_gpc0-c.patch
+- Add 0012-DOC-ssl-missing-LF.patch
+- Add 0013-DOC-fix-example-of-http-request-using-ssl_fc_session.patch
+
+-------------------------------------------------------------------
New:
----
0001-BUG-MINOR-log-missing-some-ARGC_-entries-in-fmt_dire.patch
0002-DOC-usesrc-root-privileges-requirements.patch
0003-BUILD-ssl-Allow-building-against-libssl-without-SSLv.patch
0004-DOC-MINOR-fix-OpenBSD-versions-where-haproxy-works.patch
0005-BUG-MINOR-http-sample-gmtime-localtime-can-fail.patch
0006-DOC-typo-in-redirect-302-code-meaning.patch
0007-DOC-mention-that-ms-is-left-padded-with-zeroes.patch
0008-CLEANUP-.gitignore-ignore-more-test-files.patch
0009-CLEANUP-.gitignore-finally-ignore-everything-but-wha.patch
0010-MEDIUM-config-emit-a-warning-on-a-frontend-without-l.patch
0011-BUG-MEDIUM-counters-ensure-that-src_-inc-clr-_gpc0-c.patch
0012-DOC-ssl-missing-LF.patch
0013-DOC-fix-example-of-http-request-using-ssl_fc_session.patch
0014-BUG-MINOR-http-remove-stupid-HTTP_METH_NONE-entry.patch
0015-BUG-MAJOR-http-don-t-call-http_send_name_header-afte.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haproxy.spec ++++++
--- /var/tmp/diff_new_pack.nnQYZY/_old 2015-09-08 18:12:02.000000000 +0200
+++ /var/tmp/diff_new_pack.nnQYZY/_new 2015-09-08 18:12:02.000000000 +0200
@@ -61,6 +61,36 @@
Patch2: haproxy-makefile_lib.patch
Patch3: sec-options.patch
Patch4: haproxy-1.5.8-fix-bashisms.patch
+# BUG/MINOR: log: missing some ARGC_* entries in fmt_directives()
+Patch5: 0001-BUG-MINOR-log-missing-some-ARGC_-entries-in-fmt_dire.patch
+# DOC: usesrc root privileges requirements
+Patch6: 0002-DOC-usesrc-root-privileges-requirements.patch
+# BUILD: ssl: Allow building against libssl without SSLv3.
+Patch7: 0003-BUILD-ssl-Allow-building-against-libssl-without-SSLv.patch
+# DOC/MINOR: fix OpenBSD versions where haproxy works
+Patch8: 0004-DOC-MINOR-fix-OpenBSD-versions-where-haproxy-works.patch
+# BUG/MINOR: http/sample: gmtime/localtime can fail
+Patch9: 0005-BUG-MINOR-http-sample-gmtime-localtime-can-fail.patch
+# DOC: typo in 'redirect', 302 code meaning
+Patch10: 0006-DOC-typo-in-redirect-302-code-meaning.patch
+# DOC: mention that %ms is left-padded with zeroes.
+Patch11: 0007-DOC-mention-that-ms-is-left-padded-with-zeroes.patch
+# CLEANUP: .gitignore: ignore more test files
+Patch12: 0008-CLEANUP-.gitignore-ignore-more-test-files.patch
+# CLEANUP: .gitignore: finally ignore everything but what is known.
+Patch13: 0009-CLEANUP-.gitignore-finally-ignore-everything-but-wha.patch
+# MEDIUM: config: emit a warning on a frontend without listener
+Patch14: 0010-MEDIUM-config-emit-a-warning-on-a-frontend-without-l.patch
+# BUG/MEDIUM: counters: ensure that src_{inc,clr}_gpc0 creates a missing entry
+Patch15: 0011-BUG-MEDIUM-counters-ensure-that-src_-inc-clr-_gpc0-c.patch
+# DOC: ssl: missing LF
+Patch16: 0012-DOC-ssl-missing-LF.patch
+# DOC: fix example of http-request using ssl_fc_session_id
+Patch17: 0013-DOC-fix-example-of-http-request-using-ssl_fc_session.patch
+# BUG/MINOR: http: remove stupid HTTP_METH_NONE entry
+Patch18: 0014-BUG-MINOR-http-remove-stupid-HTTP_METH_NONE-entry.patch
+# BUG/MAJOR: http: don't call http_send_name_header() after an error
+Patch19: 0015-BUG-MAJOR-http-don-t-call-http_send_name_header-afte.patch
#
Source99: haproxy-rpmlintrc
@@ -96,7 +126,21 @@
%patch2
%patch3
%patch4 -p1
-
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
%build
%{__make} \
++++++ 0001-BUG-MINOR-log-missing-some-ARGC_-entries-in-fmt_dire.patch ++++++
>From df0a5960987b3cb663dcfa93d29c21acc13cd3e3 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Thu, 9 Jul 2015 11:20:00 +0200
Subject: [PATCH 01/11] BUG/MINOR: log: missing some ARGC_* entries in
fmt_directives()
ARGC_CAP was not added to fmt_directives() which is used to format
error messages when failing to parse log format expressions. The
whole switch/case has been reorganized to match the declaration
order making it easier to spot missing values. The default is not
the "log" directive anymore but "undefined" asking to report the
bug.
Backport to 1.5 is not strictly needed but is desirable at least
for code sanity.
(cherry picked from commit 53e1a6d31743b1bef6063ff30b812521391ae3c3)
---
src/log.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/log.c b/src/log.c
index 1a5ad25..f0a3072 100644
--- a/src/log.c
+++ b/src/log.c
@@ -167,22 +167,26 @@ struct logformat_var_args var_args_list[] = {
static inline const char *fmt_directive(const struct proxy *curproxy)
{
switch (curproxy->conf.args.ctx) {
- case ARGC_UIF:
- return "unique-id-format";
+ case ARGC_ACL:
+ return "acl";
+ case ARGC_STK:
+ return "stick";
+ case ARGC_TRK:
+ return "track-sc";
+ case ARGC_LOG:
+ return "log-format";
case ARGC_HRQ:
return "http-request";
case ARGC_HRS:
return "http-response";
- case ARGC_STK:
- return "stick";
- case ARGC_TRK:
- return "track-sc"; break;
+ case ARGC_UIF:
+ return "unique-id-format";
case ARGC_RDR:
- return "redirect"; break;
- case ARGC_ACL:
- return "acl"; break;
+ return "redirect";
+ case ARGC_CAP:
+ return "capture";
default:
- return "log-format";
+ return "undefined(please report this bug)"; /* must never happen */
}
}
--
2.1.4
++++++ 0002-DOC-usesrc-root-privileges-requirements.patch ++++++
>From ea31f225c2c93a25b8bef7a9241a89cecfd9d350 Mon Sep 17 00:00:00 2001
From: Baptiste Assmann <bedis9(a)gmail.com>
Date: Fri, 17 Jul 2015 21:59:42 +0200
Subject: [PATCH 02/11] DOC: usesrc root privileges requirements
The "usesrc" parameter of the source statement requires root privileges.
(cherry picked from commit 91bd337d90cb347feda34b01402f3471c8a4833c)
---
doc/configuration.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 6714afb..64697a4 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -6117,6 +6117,8 @@ source <addr>[:<port>] [interface <name>]
is possible at the server level using the "source" server option. Refer to
section 5 for more information.
+ In order to work, "usesrc" requires root privileges.
+
Examples :
backend private
# Connect to the servers using our 192.168.1.200 source address
--
2.1.4
++++++ 0003-BUILD-ssl-Allow-building-against-libssl-without-SSLv.patch ++++++
>From eee374c28ea8ea22834ff14515b5584bc3e0c7b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Courr=C3=A8ges-Anglas?= <jca(a)wxcvbn.org>
Date: Sat, 25 Jul 2015 16:50:52 -0600
Subject: [PATCH 03/11] BUILD: ssl: Allow building against libssl without
SSLv3.
If SSLv3 is explicitely requested but not available, warn the user and
bail out.
(cherry picked from commit 17c3f6284cf605e47f6525c077bc644c45272849)
---
src/ssl_sock.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index 7d77d36..2ae45ec 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -1405,8 +1405,14 @@ int ssl_sock_prepare_ctx(struct bind_conf *bind_conf, SSL_CTX *ctx, struct proxy
ssloptions |= SSL_OP_NO_TLSv1_2;
if (bind_conf->ssl_options & BC_SSL_O_NO_TLS_TICKETS)
ssloptions |= SSL_OP_NO_TICKET;
- if (bind_conf->ssl_options & BC_SSL_O_USE_SSLV3)
+ if (bind_conf->ssl_options & BC_SSL_O_USE_SSLV3) {
+#ifndef OPENSSL_NO_SSL3
SSL_CTX_set_ssl_version(ctx, SSLv3_server_method());
+#else
+ Alert("SSLv3 support requested but unavailable.\n");
+ cfgerr++;
+#endif
+ }
if (bind_conf->ssl_options & BC_SSL_O_USE_TLSV10)
SSL_CTX_set_ssl_version(ctx, TLSv1_server_method());
#if SSL_OP_NO_TLSv1_1
@@ -1750,8 +1756,14 @@ int ssl_sock_prepare_srv_ctx(struct server *srv, struct proxy *curproxy)
options |= SSL_OP_NO_TLSv1_2;
if (srv->ssl_ctx.options & SRV_SSL_O_NO_TLS_TICKETS)
options |= SSL_OP_NO_TICKET;
- if (srv->ssl_ctx.options & SRV_SSL_O_USE_SSLV3)
+ if (srv->ssl_ctx.options & SRV_SSL_O_USE_SSLV3) {
+#ifndef OPENSSL_NO_SSL3
SSL_CTX_set_ssl_version(srv->ssl_ctx.ctx, SSLv3_client_method());
+#else
+ Alert("SSLv3 support requested but unavailable.");
+ cfgerr++;
+#endif
+ }
if (srv->ssl_ctx.options & SRV_SSL_O_USE_TLSV10)
SSL_CTX_set_ssl_version(srv->ssl_ctx.ctx, TLSv1_client_method());
#if SSL_OP_NO_TLSv1_1
--
2.1.4
++++++ 0004-DOC-MINOR-fix-OpenBSD-versions-where-haproxy-works.patch ++++++
>From e4766ba031e1fea8f2ca139316dc4e8209e960c2 Mon Sep 17 00:00:00 2001
From: Daniel Jakots <vigdis(a)chown.me>
Date: Wed, 29 Jul 2015 08:03:08 +0200
Subject: [PATCH 04/11] DOC/MINOR: fix OpenBSD versions where haproxy works
(cherry picked from commit 17d228be14762b282e5262262c45ecee4c265552)
---
README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README b/README
index add7f06..e267730 100644
--- a/README
+++ b/README
@@ -39,7 +39,7 @@ and assign it to the TARGET variable :
- solaris for Solaris 8 or 10 (others untested)
- freebsd for FreeBSD 5 to 10 (others untested)
- osx for Mac OS/X
- - openbsd for OpenBSD 3.1 to 5.2 (others untested)
+ - openbsd for OpenBSD 3.1 and above
- aix51 for AIX 5.1
- aix52 for AIX 5.2
- cygwin for Cygwin
--
2.1.4
++++++ 0005-BUG-MINOR-http-sample-gmtime-localtime-can-fail.patch ++++++
>From 955587271031d66e9b7a768e3bb18dae00b60cc6 Mon Sep 17 00:00:00 2001
From: Thierry FOURNIER <tfournier(a)arpalert.org>
Date: Wed, 8 Jul 2015 00:15:20 +0200
Subject: [PATCH 05/11] BUG/MINOR: http/sample: gmtime/localtime can fail
The man said that gmtime() and localtime() can return a NULL value.
This is not tested. It appears that all the values of a 32 bit integer
are valid, but it is better to check the return of these functions.
However, if the integer move from 32 bits to 64 bits, some 64 values
can be unsupported.
(cherry picked from commit fac9ccfb705702f211f99e67d5f5d5129002086a)
[wt: we only have sample_conv_date() in 1.5]
---
src/proto_http.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/proto_http.c b/src/proto_http.c
index 5db64b5..02dc42b 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -11249,6 +11249,8 @@ static int sample_conv_http_date(const struct arg *args, struct sample *smp)
curr_date += args[0].data.sint;
tm = gmtime(&curr_date);
+ if (!tm)
+ return 0;
temp = get_trash_chunk();
temp->len = snprintf(temp->str, temp->size - temp->len,
--
2.1.4
++++++ 0006-DOC-typo-in-redirect-302-code-meaning.patch ++++++
>From 6c7351bdd0778bc171a2b54faed058eadc8c9d0d Mon Sep 17 00:00:00 2001
From: Baptiste Assmann <bedis9(a)gmail.com>
Date: Mon, 3 Aug 2015 11:42:50 +0200
Subject: [PATCH 06/11] DOC: typo in 'redirect', 302 code meaning
302 means a temprary move, not a permanent one
(cherry picked from commit ea849c0cca63b1b56c9c36f9c3504caa5e826816)
---
doc/configuration.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 64697a4..e8d8b2a 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -5443,7 +5443,7 @@ redirect scheme <sch> [code <code>] <option> [{if | unless} <condition>]
is desired. Only codes 301, 302, 303, 307 and 308 are supported,
with 302 used by default if no code is specified. 301 means
"Moved permanently", and a browser may cache the Location. 302
- means "Moved permanently" and means that the browser should not
+ means "Moved temporarily" and means that the browser should not
cache the redirection. 303 is equivalent to 302 except that the
browser will fetch the location with a GET method. 307 is just
like 302 but makes it clear that the same method must be reused.
--
2.1.4
++++++ 0007-DOC-mention-that-ms-is-left-padded-with-zeroes.patch ++++++
>From c3453d53f2862b22d8c8e7d2399dfc38ec966aa4 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Sun, 9 Aug 2015 10:56:35 +0200
Subject: [PATCH 07/11] DOC: mention that %ms is left-padded with zeroes.
That's important to emit logs.
(cherry picked from commit 812c88ec126e8fc4fc0f7853f265594d03c63956)
---
doc/configuration.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index e8d8b2a..1d95b5b 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -12381,7 +12381,7 @@ Please refer to the table below for currently defined variables :
| | %hrl | captured_request_headers CLF style | string list |
| | %hs | captured_response_headers default style | string |
| | %hsl | captured_response_headers CLF style | string list |
- | | %ms | accept date milliseconds | numeric |
+ | | %ms | accept date milliseconds (left-padded with 0) | numeric |
| | %pid | PID | numeric |
| H | %r | http_request | string |
| | %rc | retries | numeric |
--
2.1.4
++++++ 0008-CLEANUP-.gitignore-ignore-more-test-files.patch ++++++
>From 1104336c0ba5f474fce8fe7c0125511b59f4dd3d Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 11 Aug 2015 11:20:45 +0200
Subject: [PATCH 08/11] CLEANUP: .gitignore: ignore more test files
Exclude from "git status" many of the files that often result from
development tests and bug reports reproducers.
(cherry picked from commit de365a320ead43168e78facfa337130759783515)
---
.gitignore | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/.gitignore b/.gitignore
index 762f5ad..f6ccd0e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,30 @@ make-*
dlmalloc.c
00*.patch
*.service
+*.bak
+contrib/base64/base64rev
+contrib/halog/halog
+contrib/ip6range/ip6range
+contrib/iprange/iprange
+tests/test_hashes
+/*.cfg
+/*.conf
+/*.diff
+/*.patch
+/*.c
+/*.o
+/*.so
+/*.txt
+/*.TXT
+/*.txt.*
+/*.prof
+/*.gprof
+/*.prof.*
+/*.gprof.*
+/*.tar
+/*.tar.gz
+/*.tgz
+/*.mbox
+/*.sh
+/bug*
+/TAGS
--
2.1.4
++++++ 0009-CLEANUP-.gitignore-finally-ignore-everything-but-wha.patch ++++++
>From 5e077624951a65e6aae381c7213fc54984768dd4 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 11 Aug 2015 11:21:47 +0200
Subject: [PATCH 09/11] CLEANUP: .gitignore: finally ignore everything but what
is known.
Still too many files remain, it's easier to block everything but
what we know.
(cherry picked from commit d71f1766bdbb041f80394662b0d293f033f93005)
---
.gitignore | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/.gitignore b/.gitignore
index f6ccd0e..1953ba3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,3 +45,23 @@ tests/test_hashes
/*.sh
/bug*
/TAGS
+# Below we forbid everything and only allow what we know, that's much easier
+# than blocking about 500 different test files and bug report outputs.
+/.*
+/*
+!/.gitignore
+!/CHANGELOG
+!/LICENSE
+!/Makefile
+!/README
+!/ROADMAP
+!/SUBVERS
+!/VERDATE
+!/VERSION
+!/contrib
+!/doc
+!/ebtree
+!/examples
+!/include
+!/src
+!/tests
--
2.1.4
++++++ 0010-MEDIUM-config-emit-a-warning-on-a-frontend-without-l.patch ++++++
>From c7c1e55f09839727ba7defd37347fc500dabb202 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 11 Aug 2015 11:36:45 +0200
Subject: [PATCH 10/11] MEDIUM: config: emit a warning on a frontend without
listener
Commit c6678e2 ("MEDIUM: config: authorize frontend and listen without bind")
completely removed the test for bind lines in frontends in order to make it
easier for automated tools to generate configs (eg: replacing a bind with
another one passing via a temporary config without any bind line). The
problem is that some common mistakes are totally hidden now. For example,
this apparently valid entry is silently ignored :
listen 1.2.3.4:8000
server s1 127.0.0.1:8000
Hint: 1.2.3.4:8000 is mistakenly the proxy name here.
Thus instead we now emit a warning to indicate that a frontend was found
with no listener. This should be backported to 1.5 to help spot abnormal
configurations.
(cherry picked from commit f82d1ca2d7ec83804d6b54e61a35747ad2f85188)
---
src/cfgparse.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 2a5f178..d67edc5 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -6193,6 +6193,12 @@ int check_config_validity()
break;
}
+ if ((curproxy->cap & PR_CAP_FE) && LIST_ISEMPTY(&curproxy->conf.listeners)) {
+ Warning("config : %s '%s' has no 'bind' directive. Please declare it as a backend if this was intended.\n",
+ proxy_type_str(curproxy), curproxy->id);
+ err_code |= ERR_WARN;
+ }
+
if ((curproxy->cap & PR_CAP_BE) && (curproxy->mode != PR_MODE_HEALTH)) {
if (curproxy->lbprm.algo & BE_LB_KIND) {
if (curproxy->options & PR_O_TRANSP) {
--
2.1.4
++++++ 0011-BUG-MEDIUM-counters-ensure-that-src_-inc-clr-_gpc0-c.patch ++++++
>From ee12145d38a7dee81a20cf232c724ccb7a46ad8b Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 18 Aug 2015 17:15:20 +0200
Subject: [PATCH 11/11] BUG/MEDIUM: counters: ensure that src_{inc,clr}_gpc0
creates a missing entry
During 1.5-dev20 there was some code refactoring to make the src_* fetch
function use the same code as sc_*. Unfortunately this introduced a
regression where src_* doesn't create an entry anymore if it does not
exist in the table. The reason is that smp_fetch_sc_stkctr() only calls
stktable_lookup_key() while src_inc_*/src_clr_* used to make use of
stktable_update_key() which additionally create the entry if it does
not exist.
There's no point modifying the common function for these two exceptions,
so instead we now have a function dedicated to the creation of this entry
for src_* only. It is called when the entry didn't exist, so that requires
minimal modifications to existing code.
Thanks to Thierry Fournier for helping diagnose the issue.
This fix must be backported to 1.5.
(cherry picked from commit 0f4eadd4830279f5ee83aa545728fb750f5c8185)
[Note: the backport to 1.5 significantly differs from the version in 1.6
since we need to use the table's type and to retrieve the source address
directly from the connection. At least it matches the way other src_*
fetch functions work, and it's been verified to work fine]
---
src/session.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/src/session.c b/src/session.c
index 5b9e407..6d62e36 100644
--- a/src/session.c
+++ b/src/session.c
@@ -2806,6 +2806,33 @@ smp_fetch_sc_stkctr(struct session *l4, const struct arg *args, const char *kw)
return &l4->stkctr[num];
}
+/* same as smp_fetch_sc_stkctr() but dedicated to src_* and can create
+ * the entry if it doesn't exist yet. This is needed for a few fetch
+ * functions which need to create an entry, such as src_inc_gpc* and
+ * src_clr_gpc*.
+ */
+struct stkctr *
+smp_create_src_stkctr(struct session *sess, const struct arg *args, const char *kw)
+{
+ static struct stkctr stkctr;
+ struct stktable_key *key;
+ struct connection *conn = objt_conn(sess->si[0].end);
+
+ if (strncmp(kw, "src_", 4) != 0)
+ return NULL;
+
+ if (!conn)
+ return NULL;
+
+ key = addr_to_stktable_key(&conn->addr.from, args->data.prx->table.type);
+ if (!key)
+ return NULL;
+
+ stkctr.table = &args->data.prx->table;
+ stkctr_set_entry(&stkctr, stktable_update_key(stkctr.table, key));
+ return &stkctr;
+}
+
/* set return a boolean indicating if the requested session counter is
* currently being tracked or not.
* Supports being called as "sc[0-9]_tracked" only.
@@ -2887,6 +2914,9 @@ smp_fetch_sc_inc_gpc0(struct proxy *px, struct session *l4, void *l7, unsigned i
if (!stkctr)
return 0;
+ if (stkctr_entry(stkctr) == NULL)
+ stkctr = smp_create_src_stkctr(l4, args, kw);
+
smp->flags = SMP_F_VOL_TEST;
smp->type = SMP_T_UINT;
smp->data.uint = 0;
@@ -2924,6 +2954,9 @@ smp_fetch_sc_clr_gpc0(struct proxy *px, struct session *l4, void *l7, unsigned i
if (!stkctr)
return 0;
+ if (stkctr_entry(stkctr) == NULL)
+ stkctr = smp_create_src_stkctr(l4, args, kw);
+
smp->flags = SMP_F_VOL_TEST;
smp->type = SMP_T_UINT;
smp->data.uint = 0;
--
2.1.4
++++++ 0012-DOC-ssl-missing-LF.patch ++++++
>From 2272b4ffde38c836adfd9a9b43ff5c019ef4190a Mon Sep 17 00:00:00 2001
From: Thierry FOURNIER <tfournier(a)arpalert.org>
Date: Wed, 26 Aug 2015 08:21:26 +0200
Subject: [PATCH 12/13] DOC: ssl: missing LF
An error message miss LF
(cherry picked from commit bc965348d7ccc0a306504232ab85dc240fd31fbf)
---
src/ssl_sock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index 2ae45ec..8f698c0 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -1760,7 +1760,7 @@ int ssl_sock_prepare_srv_ctx(struct server *srv, struct proxy *curproxy)
#ifndef OPENSSL_NO_SSL3
SSL_CTX_set_ssl_version(srv->ssl_ctx.ctx, SSLv3_client_method());
#else
- Alert("SSLv3 support requested but unavailable.");
+ Alert("SSLv3 support requested but unavailable.\n");
cfgerr++;
#endif
}
--
2.1.4
++++++ 0013-DOC-fix-example-of-http-request-using-ssl_fc_session.patch ++++++
>From d3a93a932430bc1a4cd5d1350820c2bec706e26d Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Thu, 27 Aug 2015 17:15:05 +0200
Subject: [PATCH 13/13] DOC: fix example of http-request using
ssl_fc_session_id
It was missing the ",hex" resulting in raw binary data being dumped in
the header or the logs. Now we know where these crazy logs originated
from!
(cherry picked from commit fca4261dacab51db960d30120f4bb4201f7e4a51)
---
doc/configuration.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 1d95b5b..67d273b 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -3135,7 +3135,7 @@ http-request { allow | deny | tarpit | auth [realm <realm>] | redirect <rule> |
Example:
http-request set-header X-Haproxy-Current-Date %T
http-request set-header X-SSL %[ssl_fc]
- http-request set-header X-SSL-Session_ID %[ssl_fc_session_id]
+ http-request set-header X-SSL-Session_ID %[ssl_fc_session_id,hex]
http-request set-header X-SSL-Client-Verify %[ssl_c_verify]
http-request set-header X-SSL-Client-DN %{+Q}[ssl_c_s_dn]
http-request set-header X-SSL-Client-CN %{+Q}[ssl_c_s_dn(cn)]
--
2.1.4
++++++ 0014-BUG-MINOR-http-remove-stupid-HTTP_METH_NONE-entry.patch ++++++
>From bcd033699c5a4904967652de4980e4f35f17ee34 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Thu, 3 Sep 2015 17:15:21 +0200
Subject: [PATCH 14/15] BUG/MINOR: http: remove stupid HTTP_METH_NONE entry
When converting the "method" fetch to a string, we used to get an empty
string if the first character was not an upper case. This was caused by
the lookup function which returns HTTP_METH_NONE when a lookup is not
possible, and this method being mapped to an empty string in the array.
This is a totally stupid mechanism, there's no reason for having the
result depend on the first char. In fact the message parser already
checks that the syntax matches an HTTP token so we can only land there
with a valid token, hence only HTTP_METH_OTHER should be returned.
This fix should be backported to all actively supported branches.
(cherry picked from commit b7ce424be2bc9df73a3b971fa9dd6daea0332bf1)
---
include/types/proto_http.h | 1 -
src/proto_http.c | 11 ++++-------
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/include/types/proto_http.h b/include/types/proto_http.h
index a5a5d31..dbce972 100644
--- a/include/types/proto_http.h
+++ b/include/types/proto_http.h
@@ -219,7 +219,6 @@ enum {
/* Known HTTP methods */
enum http_meth_t {
- HTTP_METH_NONE = 0,
HTTP_METH_OPTIONS,
HTTP_METH_GET,
HTTP_METH_HEAD,
diff --git a/src/proto_http.c b/src/proto_http.c
index 02dc42b..46694cb 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -361,12 +361,11 @@ const struct http_method_desc http_methods[26][3] = {
[0] = { .meth = HTTP_METH_TRACE , .len=5, .text="TRACE" },
},
/* rest is empty like this :
- * [1] = { .meth = HTTP_METH_NONE , .len=0, .text="" },
+ * [0] = { .meth = HTTP_METH_OTHER , .len=0, .text="" },
*/
};
const struct http_method_name http_known_methods[HTTP_METH_OTHER] = {
- [HTTP_METH_NONE] = { "", 0 },
[HTTP_METH_OPTIONS] = { "OPTIONS", 7 },
[HTTP_METH_GET] = { "GET", 3 },
[HTTP_METH_HEAD] = { "HEAD", 4 },
@@ -793,8 +792,8 @@ struct chunk *http_error_message(struct session *s, int msgnum)
}
/*
- * returns HTTP_METH_NONE if there is nothing valid to read (empty or non-text
- * string), HTTP_METH_OTHER for unknown methods, or the identified method.
+ * returns a known method among HTTP_METH_* or HTTP_METH_OTHER for all unknown
+ * ones.
*/
enum http_meth_t find_http_meth(const char *str, const int len)
{
@@ -810,10 +809,8 @@ enum http_meth_t find_http_meth(const char *str, const int len)
if (likely(memcmp(str, h->text, h->len) == 0))
return h->meth;
};
- return HTTP_METH_OTHER;
}
- return HTTP_METH_NONE;
-
+ return HTTP_METH_OTHER;
}
/* Parse the URI from the given transaction (which is assumed to be in request
--
2.1.4
++++++ 0015-BUG-MAJOR-http-don-t-call-http_send_name_header-afte.patch ++++++
>From 3f34b5539e7ba31e44055d853b9ba496e73e0bae Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Mon, 7 Sep 2015 19:32:33 +0200
Subject: [PATCH 15/15] BUG/MAJOR: http: don't call http_send_name_header()
after an error
A crash was reported when using the "famous" http-send-name-header
directive. This time it's a bit tricky, it requires a certain number of
conditions to be met including maxconn on a server, queuing, timeout in
the queue and cookie-based persistence.
The problem is that in stream.c, before calling http_send_name_header(),
we check a number of conditions to know if we have to replace the header
name. But prior to reaching this place, it's possible for
sess_update_stream_int() to fail and change the stream-int's state to
SI_ST_CLO, send an error 503 to the client, and flush all buffers. But
http_send_name_header() can only be called with valid buffer contents
matching the http_msg's description. So when it rewinds the stream to
modify the header, buf->o becomes negative by the size of the incoming
request and is used as the argument to memmove() which basically
displaces 4GB of memory off a few bytes to write the new name, resulting
in a core and a core file that's really not fun to play with.
The solution obviously consists in refraining from calling this nasty
function when the stream interface is already closed.
This bug also affects 1.5 and possibly 1.4, so the fix must be backported
there.
(cherry picked from commit 9c03b33329cb4924716edc1c851913a18b0670dc)
---
src/session.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/session.c b/src/session.c
index 6d62e36..7520a85 100644
--- a/src/session.c
+++ b/src/session.c
@@ -2293,7 +2293,7 @@ struct task *process_session(struct task *t)
/* Now we can add the server name to a header (if requested) */
/* check for HTTP mode and proxy server_name_hdr_name != NULL */
- if ((s->si[1].state >= SI_ST_CON) &&
+ if ((s->si[1].state >= SI_ST_CON) && (s->si[1].state < SI_ST_CLO) &&
(s->be->server_id_hdr_name != NULL) &&
(s->be->mode == PR_MODE_HTTP) &&
objt_server(s->target)) {
--
2.1.4
1
0
Hello community,
here is the log from the commit of package reiser4progs for openSUSE:Factory checked in at 2015-09-08 17:45:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/reiser4progs (Old)
and /work/SRC/openSUSE:Factory/.reiser4progs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "reiser4progs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/reiser4progs/reiser4progs.changes 2014-09-12 17:05:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.reiser4progs.new/reiser4progs.changes 2015-09-08 18:11:52.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Sep 1 08:31:23 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 1.1.0
+* Format release 4.0.1
+* Support checksum for formatted nodes
+* NODE41 format with 32-bit field for checksums
+
+-------------------------------------------------------------------
Old:
----
reiser4progs-1.0.9.tar.gz
New:
----
reiser4progs-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ reiser4progs.spec ++++++
--- /var/tmp/diff_new_pack.cRWU04/_old 2015-09-08 18:11:55.000000000 +0200
+++ /var/tmp/diff_new_pack.cRWU04/_new 2015-09-08 18:11:55.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package reiser4progs
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
Name: reiser4progs
-Version: 1.0.9
+Version: 1.1.0
Release: 0
-%define lsuf -1_0-9
+%define lsuf -1_1-0
Summary: Utilities for Managing the Reiser4 File System
License: GPL-2.0
Group: System/Filesystems
@@ -106,15 +106,15 @@
%files -n libreiser4%lsuf
%defattr(-,root,root)
-%_libdir/libreiser4-1.0.so.9*
+%_libdir/libreiser4-1.1.so.0*
%files -n libreiser4-minimal%lsuf
%defattr(-,root,root)
-%_libdir/libreiser4-minimal-1.0.so.9*
+%_libdir/libreiser4-minimal-1.1.so.0*
%files -n librepair%lsuf
%defattr(-,root,root)
-%_libdir/librepair-1.0.so.9*
+%_libdir/librepair-1.1.so.0*
%files devel
%defattr(-,root,root)
++++++ reiser4progs-1.0.9.tar.gz -> reiser4progs-1.1.0.tar.gz ++++++
++++ 3433 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2015-09-08 17:45:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/armadillo (Old)
and /work/SRC/openSUSE:Factory/.armadillo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "armadillo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2015-08-21 07:41:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2015-09-08 18:11:38.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Sep 3 11:11:50 UTC 2015 - badshah400(a)gmail.com
+
+- Update to version 5.500.2:
+ + Undocumented fixes.
+- Changes from version 5.500.0 (Molotov Cocktail):
+ + Expanded object constructors and generators to handle size()
+ based specification of dimensions.
+ + Faster handling of submatrix rows.
+ + Faster clamp().
+ + Fixes for handling sparse matrices.
+
+-------------------------------------------------------------------
Old:
----
armadillo-5.400.2.tar.gz
New:
----
armadillo-5.500.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.fBJIGn/_old 2015-09-08 18:11:51.000000000 +0200
+++ /var/tmp/diff_new_pack.fBJIGn/_new 2015-09-08 18:11:51.000000000 +0200
@@ -19,7 +19,7 @@
%define soname libarmadillo5
Name: armadillo
-Version: 5.400.2
+Version: 5.500.2
Release: 0
Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS
License: MPL-2.0
++++++ armadillo-5.400.2.tar.gz -> armadillo-5.500.2.tar.gz ++++++
++++ 6422 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package kadu for openSUSE:Factory checked in at 2015-09-08 17:45:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kadu (Old)
and /work/SRC/openSUSE:Factory/.kadu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kadu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kadu/kadu.changes 2015-02-11 16:44:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kadu.new/kadu.changes 2015-09-08 18:11:04.000000000 +0200
@@ -1,0 +2,17 @@
+Tue Aug 18 18:47:34 UTC 2015 - fisiu(a)opensuse.org
+
+- Update to 2.1:
+ * Esc closes chat windows
+ * Fix licence window on Linux
+ * Set status to offline after disconnected because of multilogin
+- Update to 2.0:
+ * Port to Qt 5.2
+ * Store content of input box in chat widgets
+ * Paste and send action added to chat widget
+ * Add option to open chat windows minimized on incoming message
+ * Hide description option also affects notifications
+ * Plugin categories are now translated
+ * Remove support for configuration files of Kadu 0.6.5
+ * Many bugfixes and minor changes
+
+-------------------------------------------------------------------
Old:
----
anonymous_check-1.0-3.tar.bz2
globalhotkeys-1.0-33.tar.bz2
import_history-1.0-4.tar.bz2
kadu-1.5.tar.bz2
kadu_completion-1.0-4.tar.bz2
lednotify-1.0-34.tar.bz2
messagessplitter-1.0-6.tar.bz2
mime_tex-1.0-3.tar.bz2
networkping-1.0-5.tar.bz2
nextinfo-1.0-10.tar.bz2
panelkadu-1.0-11.tar.bz2
senthistory-1.0-12.tar.bz2
New:
----
anonymous_check-2.0.1.tar.bz2
import_history-2.0.tar.bz2
kadu-2.1.tar.bz2
kadu_completion-2.0.tar.bz2
mime_tex-2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kadu.spec ++++++
--- /var/tmp/diff_new_pack.Mr6Pj2/_old 2015-09-08 18:11:32.000000000 +0200
+++ /var/tmp/diff_new_pack.Mr6Pj2/_new 2015-09-08 18:11:32.000000000 +0200
@@ -21,7 +21,7 @@
%define build_penguins 0
Name: kadu
-Version: 1.5
+Version: 2.1
Release: 0
# Choosing GPL-3.0+ because of presence and usage of numerous GPL-3.0 files
Summary: Gadu-Gadu and Jabber/XMPP protocol Instant Messenger
@@ -34,17 +34,10 @@
# PATCH-FIX-UPSTREAM 0001-fix_SDK_DIR.patch sfalken(a)opensuse.org -- fixed CMake Buildfailure
Patch1: 0001-fix_SDK_DIR.patch
### 1x - External Plugins ###
-Source09: http://download.kadu.im/external-plugins/stable/anonymous_check-1.0-3.tar.b…
-Source10: http://download.kadu.im/external-plugins/stable/kadu_completion-1.0-4.tar.b…
-Source11: http://download.kadu.im/external-plugins/stable/globalhotkeys-1.0-33.tar.bz2
-Source12: http://download.kadu.im/external-plugins/stable/import_history-1.0-4.tar.bz2
-Source13: http://download.kadu.im/external-plugins/stable/lednotify-1.0-34.tar.bz2
-Source14: http://download.kadu.im/external-plugins/stable/messagessplitter-1.0-6.tar.…
-Source15: http://download.kadu.im/external-plugins/stable/mime_tex-1.0-3.tar.bz2
-Source16: http://download.kadu.im/external-plugins/stable/networkping-1.0-5.tar.bz2
-Source17: http://download.kadu.im/external-plugins/stable/nextinfo-1.0-10.tar.bz2
-Source18: http://download.kadu.im/external-plugins/stable/panelkadu-1.0-11.tar.bz2
-Source19: http://download.kadu.im/external-plugins/stable/senthistory-1.0-12.tar.bz2
+Source10: http://download.kadu.im/external-plugins/2.0/anonymous_check-2.0.1.tar.bz2
+Source11: http://download.kadu.im/external-plugins/2.0/import_history-2.0.tar.bz2
+Source12: http://download.kadu.im/external-plugins/2.0/kadu_completion-2.0.tar.bz2
+Source13: http://download.kadu.im/external-plugins/2.0/mime_tex-2.0.tar.bz2
### 2x - Emoticons ###
%if %{build_penguins}
Source20: kompatybilne_z_GG6.tar.gz
@@ -57,34 +50,52 @@
Source33: kadu-sound-michalsrodek.tar.bz2
Source34: kadu-sound-percussion.tar.bz2
Source35: kadu-sound-ultr.tar.bz2
-BuildRequires: cmake >= 2.8.10
+BuildRequires: cmake >= 2.8.11
BuildRequires: fdupes
+BuildRequires: libqt5-linguist-devel >= 5.2
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-devel
-BuildRequires: pkgconfig(QtGui) >= 4.8.0
-BuildRequires: pkgconfig(QtWebKit) >= 4.8.0
+BuildRequires: pkgconfig(Qt5Concurrent) >= 5.2
+BuildRequires: pkgconfig(Qt5Core) >= 5.2
+BuildRequires: pkgconfig(Qt5DBus) >= 5.2
+BuildRequires: pkgconfig(Qt5Declarative) >= 5.2
+BuildRequires: pkgconfig(Qt5Multimedia) >= 5.2
+BuildRequires: pkgconfig(Qt5Network) >= 5.2
+BuildRequires: pkgconfig(Qt5WebKit) >= 5.2
+BuildRequires: pkgconfig(Qt5WebKitWidgets) >= 5.2
+BuildRequires: pkgconfig(Qt5Widgets) >= 5.2
+BuildRequires: pkgconfig(Qt5X11Extras) >= 5.2
+BuildRequires: pkgconfig(Qt5Xml) >= 5.2
+BuildRequires: pkgconfig(Qt5XmlPatterns) >= 5.2
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(enchant)
+BuildRequires: pkgconfig(injeqt) >= 1.0
BuildRequires: pkgconfig(libarchive) >= 2.6.0
BuildRequires: pkgconfig(libgadu) >= 1.12.1
BuildRequires: pkgconfig(libidn)
-%if %{?suse_version} < 1310
-BuildRequires: pkgconfig(libntrack-qt4)
-%endif
BuildRequires: pkgconfig(libotr) >= 4.0
-BuildRequires: pkgconfig(phonon)
-BuildRequires: pkgconfig(qca2)
+BuildRequires: pkgconfig(phonon4qt5)
+BuildRequires: pkgconfig(qca2-qt5)
BuildRequires: pkgconfig(sndfile)
+BuildRequires: pkgconfig(sqlite3)
# runtime requires
-Requires: libgadu3 >= 1.12.0
-# sql_history plugin needs qt4-sqlite to operate
-Requires: libqt4-sql-sqlite
+Requires: libgadu3 >= 1.12.1
+# sql_history plugin needs qt5-sqlite to operate
+Requires: libQt5Sql5-sqlite
+# packages dropped in kadu-2.0
+Obsoletes: globalhotkeys
+Obsoletes: lednotify
+Obsoletes: messagessplitter
+Obsoletes: networkping
+Obsoletes: nextinfo
+Obsoletes: panelkadu
+Obsoletes: senthistory
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Kadu is an open source Gadu-Gadu and Jabber/XMPP protocol Instant Messenger
client for Linux, BSD, Mac OS X and Windows. Kadu depends on Qt library
-version 4.7. Kadu supports KDE, GNOME and Window Maker as well.
+version 5.2. Kadu supports KDE, GNOME and Window Maker as well.
The core of Kadu is the libgadu library (its role being handling the network layer).
%package devel
@@ -96,7 +107,7 @@
%description devel
Kadu is an open source Gadu-Gadu and Jabber/XMPP protocol Instant Messenger
client for Linux, BSD, Mac OS X and Windows. Kadu depends on Qt library
-version 4.7. Kadu supports KDE, GNOME and Window Maker as well.
+version 5.2. Kadu supports KDE, GNOME and Window Maker as well.
The core of Kadu is the libgadu library (its role being handling the network layer).
Files mandatory for development.
@@ -121,15 +132,6 @@
%description completion
Bash completion-like module for Kadu.
-%package globalhotkeys
-Summary: Global hotkeys support to Kadu
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description globalhotkeys
-Globalhotkeys is a plugin that adds support to global hotkeys in kadu.
-
%package import_history
Summary: History import plugin
License: GPL-3.0+
@@ -139,24 +141,6 @@
%description import_history
History import plugins allows to import history from Gadu-Gadu 7, 8.
-%package lednotify
-Summary: Notification by Scroll Lock LED
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description lednotify
-Led_notify is a plugin to notify user of some events using Scroll Lock LED.
-
-%package messagessplitter
-Summary: Automatically splits too long messages
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description messagessplitter
-Messagesplitter allows to split too long messages.
-
%package mimetex
Summary: TeX formulas support
License: GPL-3.0+
@@ -166,42 +150,6 @@
%description mimetex
Mime_tex is a plugin to edit TeX mathematic formulas in chat window.
-%package networkping
-Summary: Periodically checks the network state
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description networkping
-Networkping plugin checks the network state using ntrack library.
-
-%package nextinfo
-Summary: Extended contact information support
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description nextinfo
-New ext_info plugin providing extended contact information support.
-
-%package panelkadu
-Summary: Makes a panel from Kadu main window
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description panelkadu
-Panelkadu is a plugin to make a panel from Kadu main window.
-
-%package senthistory
-Summary: History of sent messages in chat windows
-License: GPL-3.0+
-Group: Productivity/Networking/Instant Messenger
-Requires: %{name} = %{version}
-
-%description senthistory
-Senthistory is a plugin which adds history of sent messages to chat windows.
-
### Emoticons ###
%if %{build_penguins}
@@ -296,7 +244,7 @@
%prep
%setup -q -n %{real}
# add external plugins
-%setup -qTD -a09 -a10 -a11 -a12 -a13 -a14 -a15 -a16 -a17 -a18 -a19 -n %{real}/plugins
+%setup -qTD -a10 -a11 -a12 -a13 -n %{real}/plugins
# add additionals emoticons
%if %{build_penguins}
%setup -qTD -a20 -a21 -n %{real}/varia/themes/emoticons
@@ -307,15 +255,20 @@
%setup -qDTn %{real}
# enable external plugins (patch0):
#
-# anonymous_check, completion, globalhotkeys, importhistory, lednotify,
-# messagessplitter, mime_tex, networkping, nextinfo, panelkadu, senthistory
+# anonymous_check, completion, importhistory, mime_tex
#
%patch0
%patch1 -p1
+# fix QtCrypto path
+sed -e 's:QtCrypto/QtCrypto:Qca-qt5/QtCrypto/QtCrypto:' -i kadu-core/main.cpp
+
# switch state of internal plugins
# don't enable mpd since it's not in oss repository
sed -e 's:\t\tmpd_mediaplayer:\t\t# mpd_mediaplayer:' -i Plugins.cmake
+# disable unity related plugin
+sed -e 's:\t\tunity_integration:\t\t# unity_integration:' -i Plugins.cmake
+sed -e 's:\t\tindicator_docking:\t\t# indicator_docking:' -i Plugins.cmake
# enable additionals emoticons
%if %{build_penguins}
@@ -333,7 +286,8 @@
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DWITH_ENCHANT=ON \
- -DINSTALL_UNOFFICIAL_TRANSLATIONS=ON
+ -DINSTALL_UNOFFICIAL_TRANSLATIONS=ON \
+ -DQCA_SUFFIX:STRING=qt5
make %{?_smp_mflags}
%install
@@ -392,7 +346,8 @@
%{_datadir}/kadu/AUTHORS.html
%{_datadir}/kadu/ChangeLog
%{_datadir}/kadu/ChangeLog.OLD-PL
-%{_datadir}/kadu/COPYING
+%{_datadir}/kadu/COPYING.GPL2
+%{_datadir}/kadu/COPYING.LGPL2.1
%{_datadir}/kadu/HISTORY
%{_datadir}/kadu/README
%{_datadir}/kadu/THANKS
@@ -434,7 +389,6 @@
%{_datadir}/kadu/plugins/profiles_import.desc
%{_datadir}/kadu/plugins/qt4_docking.desc
%{_datadir}/kadu/plugins/qt4_docking_notify.desc
-%{_datadir}/kadu/plugins/qt4_sound.desc
%{_datadir}/kadu/plugins/screenshot.desc
%{_datadir}/kadu/plugins/simpleview.desc
%{_datadir}/kadu/plugins/single_window.desc
@@ -519,7 +473,6 @@
%{_datadir}/kadu/plugins/translations/phonon_sound_*.qm
%{_datadir}/kadu/plugins/translations/profiles_import_*.qm
%{_datadir}/kadu/plugins/translations/qt4_docking_*.qm
-%{_datadir}/kadu/plugins/translations/qt4_sound_*.qm
%{_datadir}/kadu/plugins/translations/screenshot_*.qm
%{_datadir}/kadu/plugins/translations/simpleview_*.qm
%{_datadir}/kadu/plugins/translations/single_window_*.qm
@@ -586,7 +539,6 @@
%{_libdir}/kadu/plugins/libprofiles_import.so
%{_libdir}/kadu/plugins/libqt4_docking.so
%{_libdir}/kadu/plugins/libqt4_docking_notify.so
-%{_libdir}/kadu/plugins/libqt4_sound.so
%{_libdir}/kadu/plugins/libscreenshot.so
%{_libdir}/kadu/plugins/libsimpleview.so
%{_libdir}/kadu/plugins/libsingle_window.so
@@ -621,33 +573,12 @@
%{_datadir}/kadu/plugins/data/kadu_completion/list.txt
%{_datadir}/kadu/plugins/kadu_completion.desc
-%files globalhotkeys
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libglobalhotkeys.so
-%{_datadir}/kadu/plugins/globalhotkeys.desc
-%{_datadir}/kadu/plugins/configuration/globalhotkeys.ui
-%{_datadir}/kadu/plugins/translations/globalhotkeys*.qm
-
%files import_history
%defattr(-,root,root)
%{_libdir}/kadu/plugins/libimport_history.so
%{_datadir}/kadu/plugins/import_history.desc
%{_datadir}/kadu/plugins/translations/import_history*.qm
-%files lednotify
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/liblednotify.so
-%{_datadir}/kadu/plugins/lednotify.desc
-%{_datadir}/kadu/plugins/configuration/lednotify.ui
-%{_datadir}/kadu/plugins/translations/lednotify*.qm
-
-%files messagessplitter
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libmessagessplitter.so
-%{_datadir}/kadu/plugins/messagessplitter.desc
-%{_datadir}/kadu/plugins/configuration/messagessplitter.ui
-%{_datadir}/kadu/plugins/translations/messagessplitter*.qm
-
%files mimetex
%defattr(-,root,root)
%dir %{_datadir}/kadu/plugins/data/mime_tex
@@ -664,34 +595,6 @@
%dir %{_datadir}/kadu/plugins/data/mime_tex/mime_tex_icons
%{_datadir}/kadu/plugins/data/mime_tex/mime_tex_icons/*.png
-%files networkping
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libnetworkping.so
-%{_datadir}/kadu/plugins/networkping.desc
-%{_datadir}/kadu/plugins/configuration/networkping.ui
-%{_datadir}/kadu/plugins/translations/networkping*.qm
-
-%files nextinfo
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libnextinfo.so
-%{_datadir}/kadu/plugins/nextinfo.desc
-%{_datadir}/kadu/plugins/configuration/nextinfo.ui
-%{_datadir}/kadu/plugins/translations/nextinfo*.qm
-
-%files panelkadu
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libpanelkadu.so
-%{_datadir}/kadu/plugins/panelkadu.desc
-%{_datadir}/kadu/plugins/configuration/panelkadu.ui
-%{_datadir}/kadu/plugins/translations/panelkadu*.qm
-
-%files senthistory
-%defattr(-,root,root)
-%{_libdir}/kadu/plugins/libsenthistory.so
-%{_datadir}/kadu/plugins/senthistory.desc
-%{_datadir}/kadu/plugins/configuration/senthistory.ui
-%{_datadir}/kadu/plugins/translations/senthistory*.qm
-
### Emoticons ###
%if %{build_penguins}
++++++ anonymous_check-1.0-3.tar.bz2 -> anonymous_check-2.0.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/anonymous_check/anonymous_check.cpp new/anonymous_check/anonymous_check.cpp
--- old/anonymous_check/anonymous_check.cpp 2014-07-30 23:48:02.000000000 +0200
+++ new/anonymous_check/anonymous_check.cpp 2015-01-25 00:51:46.000000000 +0100
@@ -37,8 +37,6 @@
}
AnonCheck::AnonymousCheck::~AnonymousCheck() {
- disconnect(Core::instance()->chatWidgetManager(), SIGNAL(chatWidgetCreated(ChatWidget *)),
- this, SLOT(onChatWidgetCreated(ChatWidget *)));
}
void AnonCheck::AnonymousCheck::configurationUpdated() {
++++++ enable_external_plugins.patch ++++++
--- /var/tmp/diff_new_pack.Mr6Pj2/_old 2015-09-08 18:11:32.000000000 +0200
+++ /var/tmp/diff_new_pack.Mr6Pj2/_new 2015-09-08 18:11:32.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- Plugins.cmake.orig
+++ Plugins.cmake
-@@ -128,6 +128,29 @@ if (UNIX AND NOT APPLE)
+@@ -134,6 +134,15 @@ if (UNIX AND NOT APPLE)
falf_mediaplayer
# MPD mediaplayer support
mpd_mediaplayer
@@ -11,24 +11,10 @@
+ anonymous_check
+ # kadu completion
+ kadu_completion
-+ # global hotkeys support
-+ globalhotkeys
+ # support for importing history from gg 7 & 8
+ import_history
-+ # lednotify support
-+ lednotify
-+ # split too long messages
-+ messagessplitter
+ # mimetex support
+ mime_tex
-+ # network ping support
-+ networkping
-+ # nextinfo
-+ nextinfo
-+ # panelkadu
-+ panelkadu
-+ # history for sent sms
-+ senthistory
)
+ endif (UNIX AND NOT APPLE)
- if (KADU_WITH_LIBINDICATE_QT)
++++++ import_history-1.0-4.tar.bz2 -> import_history-2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/import_history/CMakeLists.txt new/import_history/CMakeLists.txt
--- old/import_history/CMakeLists.txt 2014-07-30 23:48:34.000000000 +0200
+++ new/import_history/CMakeLists.txt 2015-01-24 00:29:58.000000000 +0100
@@ -28,7 +28,7 @@
include_directories (${LIBGADU_INCLUDE_DIRS} ${SQLITE3_INCLUDE_DIRS})
link_directories (${LIBGADU_LIBRARY_DIRS} ${SQLITE3_LIBRARY_DIRS})
-qt4_wrap_ui(import_history_UIS gui/import_history.ui)
+#qt5_wrap_ui(import_history_UIS gui/import_history.ui)
include_directories (${CMAKE_CURRENT_BINARY_DIR})
kadu_plugin(import_history
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/import_history/gui/ui_import_history.h new/import_history/gui/ui_import_history.h
--- old/import_history/gui/ui_import_history.h 1970-01-01 01:00:00.000000000 +0100
+++ new/import_history/gui/ui_import_history.h 2015-01-24 00:29:58.000000000 +0100
@@ -0,0 +1,243 @@
+/********************************************************************************
+** Form generated from reading UI file 'import_history.ui'
+**
+** Created by: Qt User Interface Compiler version 5.3.0
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_IMPORT_HISTORY_H
+#define UI_IMPORT_HISTORY_H
+
+#include <QtCore/QVariant>
+#include <QtWidgets/QAction>
+#include <QtWidgets/QApplication>
+#include <QtWidgets/QButtonGroup>
+#include <QtWidgets/QComboBox>
+#include <QtWidgets/QGridLayout>
+#include <QtWidgets/QHBoxLayout>
+#include <QtWidgets/QHeaderView>
+#include <QtWidgets/QLabel>
+#include <QtWidgets/QLineEdit>
+#include <QtWidgets/QProgressBar>
+#include <QtWidgets/QPushButton>
+#include <QtWidgets/QSpacerItem>
+#include <QtWidgets/QTabWidget>
+#include <QtWidgets/QVBoxLayout>
+#include <QtWidgets/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_ImportHistory
+{
+public:
+ QVBoxLayout *verticalLayout_2;
+ QTabWidget *tabWidget;
+ QWidget *oldGG;
+ QVBoxLayout *verticalLayout_4;
+ QLabel *label_2;
+ QLabel *hint_old;
+ QHBoxLayout *horizontalLayout_2;
+ QLabel *label;
+ QLineEdit *ggPath;
+ QPushButton *ggBrowseButton;
+ QSpacerItem *verticalSpacer;
+ QWidget *newGG;
+ QVBoxLayout *verticalLayout;
+ QLabel *label_3;
+ QLabel *hint_new;
+ QHBoxLayout *horizontalLayout_3;
+ QLabel *label_4;
+ QLineEdit *gg8Path;
+ QPushButton *gg8BrowseButton;
+ QSpacerItem *verticalSpacer_2;
+ QGridLayout *gridLayout;
+ QProgressBar *progressBar;
+ QLabel *label_5;
+ QPushButton *proceedButton;
+ QPushButton *cancelButton;
+ QSpacerItem *horizontalSpacer;
+ QSpacerItem *horizontalSpacer_2;
+ QComboBox *accountCBox;
+
+ void setupUi(QWidget *ImportHistory)
+ {
+ if (ImportHistory->objectName().isEmpty())
+ ImportHistory->setObjectName(QStringLiteral("ImportHistory"));
+ ImportHistory->resize(635, 201);
+ verticalLayout_2 = new QVBoxLayout(ImportHistory);
+ verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2"));
+ tabWidget = new QTabWidget(ImportHistory);
+ tabWidget->setObjectName(QStringLiteral("tabWidget"));
+ oldGG = new QWidget();
+ oldGG->setObjectName(QStringLiteral("oldGG"));
+ verticalLayout_4 = new QVBoxLayout(oldGG);
+ verticalLayout_4->setObjectName(QStringLiteral("verticalLayout_4"));
+ label_2 = new QLabel(oldGG);
+ label_2->setObjectName(QStringLiteral("label_2"));
+
+ verticalLayout_4->addWidget(label_2);
+
+ hint_old = new QLabel(oldGG);
+ hint_old->setObjectName(QStringLiteral("hint_old"));
+
+ verticalLayout_4->addWidget(hint_old);
+
+ horizontalLayout_2 = new QHBoxLayout();
+ horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2"));
+ label = new QLabel(oldGG);
+ label->setObjectName(QStringLiteral("label"));
+
+ horizontalLayout_2->addWidget(label);
+
+ ggPath = new QLineEdit(oldGG);
+ ggPath->setObjectName(QStringLiteral("ggPath"));
+
+ horizontalLayout_2->addWidget(ggPath);
+
+ ggBrowseButton = new QPushButton(oldGG);
+ ggBrowseButton->setObjectName(QStringLiteral("ggBrowseButton"));
+
+ horizontalLayout_2->addWidget(ggBrowseButton);
+
+
+ verticalLayout_4->addLayout(horizontalLayout_2);
+
+ verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ verticalLayout_4->addItem(verticalSpacer);
+
+ tabWidget->addTab(oldGG, QString());
+ newGG = new QWidget();
+ newGG->setObjectName(QStringLiteral("newGG"));
+ verticalLayout = new QVBoxLayout(newGG);
+ verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
+ label_3 = new QLabel(newGG);
+ label_3->setObjectName(QStringLiteral("label_3"));
+
+ verticalLayout->addWidget(label_3);
+
+ hint_new = new QLabel(newGG);
+ hint_new->setObjectName(QStringLiteral("hint_new"));
+
+ verticalLayout->addWidget(hint_new);
+
+ horizontalLayout_3 = new QHBoxLayout();
+ horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3"));
+ label_4 = new QLabel(newGG);
+ label_4->setObjectName(QStringLiteral("label_4"));
+
+ horizontalLayout_3->addWidget(label_4);
+
+ gg8Path = new QLineEdit(newGG);
+ gg8Path->setObjectName(QStringLiteral("gg8Path"));
+
+ horizontalLayout_3->addWidget(gg8Path);
+
+ gg8BrowseButton = new QPushButton(newGG);
+ gg8BrowseButton->setObjectName(QStringLiteral("gg8BrowseButton"));
+
+ horizontalLayout_3->addWidget(gg8BrowseButton);
+
+
+ verticalLayout->addLayout(horizontalLayout_3);
+
+ verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ verticalLayout->addItem(verticalSpacer_2);
+
+ tabWidget->addTab(newGG, QString());
+
+ verticalLayout_2->addWidget(tabWidget);
+
+ gridLayout = new QGridLayout();
+ gridLayout->setObjectName(QStringLiteral("gridLayout"));
+ progressBar = new QProgressBar(ImportHistory);
+ progressBar->setObjectName(QStringLiteral("progressBar"));
+ progressBar->setValue(0);
+
+ gridLayout->addWidget(progressBar, 0, 0, 1, 5);
+
+ label_5 = new QLabel(ImportHistory);
+ label_5->setObjectName(QStringLiteral("label_5"));
+
+ gridLayout->addWidget(label_5, 1, 0, 1, 2);
+
+ proceedButton = new QPushButton(ImportHistory);
+ proceedButton->setObjectName(QStringLiteral("proceedButton"));
+
+ gridLayout->addWidget(proceedButton, 2, 0, 1, 1);
+
+ cancelButton = new QPushButton(ImportHistory);
+ cancelButton->setObjectName(QStringLiteral("cancelButton"));
+
+ gridLayout->addWidget(cancelButton, 2, 4, 1, 1);
+
+ horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer, 1, 3, 1, 1);
+
+ horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+
+ gridLayout->addItem(horizontalSpacer_2, 2, 1, 1, 2);
+
+ accountCBox = new QComboBox(ImportHistory);
+ accountCBox->setObjectName(QStringLiteral("accountCBox"));
+
+ gridLayout->addWidget(accountCBox, 1, 2, 1, 1);
+
+
+ verticalLayout_2->addLayout(gridLayout);
+
+
+ retranslateUi(ImportHistory);
+
+ tabWidget->setCurrentIndex(0);
+
+
+ QMetaObject::connectSlotsByName(ImportHistory);
+ } // setupUi
+
+ void retranslateUi(QWidget *ImportHistory)
+ {
+ ImportHistory->setWindowTitle(QApplication::translate("ImportHistory", "Form", 0));
+ label_2->setText(QApplication::translate("ImportHistory", "Gadu Gadu 7.0 and olders:", 0));
+ hint_old->setText(QString());
+ label->setText(QApplication::translate("ImportHistory", "Path to gadu-gadu archives file", 0));
+#ifndef QT_NO_TOOLTIP
+ ggPath->setToolTip(QApplication::translate("ImportHistory", "Exact path to archives.dat file.\n"
+"File can be found in Gadu-Gadu's profile directory.", 0));
+#endif // QT_NO_TOOLTIP
+#ifndef QT_NO_WHATSTHIS
+ ggPath->setWhatsThis(QApplication::translate("ImportHistory", "Exact path to archives.dat file.\n"
+"File can be found in Gadu-Gadu's profile directory.", 0));
+#endif // QT_NO_WHATSTHIS
+ ggBrowseButton->setText(QApplication::translate("ImportHistory", "Browse", 0));
+ tabWidget->setTabText(tabWidget->indexOf(oldGG), QApplication::translate("ImportHistory", "Old GG", 0));
+ label_3->setText(QApplication::translate("ImportHistory", "Gadu Gadu version 8, 9 and 10:", 0));
+ hint_new->setText(QString());
+ label_4->setText(QApplication::translate("ImportHistory", "Path to gadu-gadu profile dir:", 0));
+#ifndef QT_NO_TOOLTIP
+ gg8Path->setToolTip(QApplication::translate("ImportHistory", "Path to Gadu-Gadu user's profile directory.\n"
+"Given directory should contain Archive.db file and ImgCache subdirectory.", 0));
+#endif // QT_NO_TOOLTIP
+#ifndef QT_NO_WHATSTHIS
+ gg8Path->setWhatsThis(QApplication::translate("ImportHistory", "Path to Gadu-Gadu user's profile directory.\n"
+"Given directory should contain Archive.db file and ImgCache subdirectory.", 0));
+#endif // QT_NO_WHATSTHIS
+ gg8BrowseButton->setText(QApplication::translate("ImportHistory", "Browse", 0));
+ tabWidget->setTabText(tabWidget->indexOf(newGG), QApplication::translate("ImportHistory", "New GG", 0));
+ label_5->setText(QApplication::translate("ImportHistory", "Target account:", 0));
+ proceedButton->setText(QApplication::translate("ImportHistory", "Import", 0));
+ cancelButton->setText(QApplication::translate("ImportHistory", "Cancel", 0));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class ImportHistory: public Ui_ImportHistory {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_IMPORT_HISTORY_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/import_history/importers/gg7/ggimporter.cpp new/import_history/importers/gg7/ggimporter.cpp
--- old/import_history/importers/gg7/ggimporter.cpp 2014-07-30 23:48:34.000000000 +0200
+++ new/import_history/importers/gg7/ggimporter.cpp 2015-01-24 00:29:58.000000000 +0100
@@ -26,7 +26,7 @@
#include "accounts/account-manager.h"
#include "message/message.h"
-#include "configuration/configuration-file.h"
+#include "configuration/configuration-api.h"
#include "contacts/contact-set.h"
#include "contacts/contact-manager.h"
#include <core/core.h>
@@ -88,7 +88,7 @@
void ImportFromGG::run()
{
//kodowanie historii
- QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1250"));
+ // auto codec = QTextCodec::codecForName("cp1250");
if (cancel)
return;
@@ -296,7 +296,7 @@
position++; //null
position+=8; //8 bajtów na crc i rozmiar (juz jest w nagłówku (img) )
- QFile img_file(Core::instance()->imageStorageService()->storagePath() + QString("%1-%2-%3-%4").arg(user.id().toInt()).arg(img.size).arg(img.crc32).arg(file_name.data()));
+ QFile img_file(Core::instance()->imageStorageService()->storagePath() + QString{"%1-%2-%3-%4"}.arg(user.id().toInt()).arg(img.size).arg(img.crc32).arg(file_name.data()));
img_file.open(QIODevice::WriteOnly);
img_file.write(reinterpret_cast<char*>(array+position),img.size);
img_file.close();
++++++ kadu-1.5.tar.bz2 -> kadu-2.1.tar.bz2 ++++++
++++ 292356 lines of diff (skipped)
++++++ kadu_completion-1.0-4.tar.bz2 -> kadu_completion-2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kadu_completion/kadu_completion.cpp new/kadu_completion/kadu_completion.cpp
--- old/kadu_completion/kadu_completion.cpp 2014-08-09 01:57:44.000000000 +0200
+++ new/kadu_completion/kadu_completion.cpp 2015-01-24 01:06:08.000000000 +0100
@@ -1,11 +1,12 @@
#include "completion_context.h"
#include "kadu_completion.h"
+#include "kadu-core/core/application.h"
#include "kadu-core/core/core.h"
#include "kadu-core/debug.h"
#include "kadu-core/gui/widgets/chat-widget/chat-widget.h"
#include "kadu-core/gui/widgets/chat-widget/chat-widget-repository.h"
-#include "kadu-core/misc/kadu-paths.h"
+#include "kadu-core/misc/paths-provider.h"
#include <QFile>
#include <QString>
@@ -43,7 +44,7 @@
KaduCompletion::KaduCompletion::KaduCompletion() {
kdebugf();
- QString listFileName(KaduPaths::instance()->dataPath() + "plugins/data/kadu_completion/list.txt");
+ QString listFileName(Application::instance()->pathsProvider()->dataPath() + "plugins/data/kadu_completion/list.txt");
QFile file(listFileName);
QTextCodec* codec = QTextCodec::codecForName("Windows-1250");
if(file.open(QIODevice::ReadOnly)) {
++++++ mime_tex-1.0-3.tar.bz2 -> mime_tex-2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime_tex/mime_tex.cpp new/mime_tex/mime_tex.cpp
--- old/mime_tex/mime_tex.cpp 2014-07-30 23:48:25.000000000 +0200
+++ new/mime_tex/mime_tex.cpp 2015-01-24 01:06:13.000000000 +0100
@@ -18,14 +18,16 @@
#include "gui/actions/action-context.h"
#include "kadu-core/chat/chat-manager.h"
#include "kadu-core/contacts/contact-set.h"
-#include "kadu-core/configuration/configuration-file.h"
+#include "kadu-core/configuration/configuration-api.h"
+#include "kadu-core/configuration/deprecated-configuration-api.h"
#include "kadu-core/icons/icons-manager.h"
#include "kadu-core/gui/widgets/chat-widget/chat-widget.h"
#include "kadu-core/gui/widgets/chat-widget/chat-widget-repository.h"
#include "kadu-core/gui/windows/main-window.h"
-#include "kadu-core/misc/kadu-paths.h"
+#include "kadu-core/misc/paths-provider.h"
#include "kadu-core/debug.h"
-#include <core/core.h>
+#include "kadu-core/core/core.h"
+#include "kadu-core/core/application.h"
MimeTeX::MimeTeX * MimeTeX::MimeTeX::Instance = 0;
@@ -51,7 +53,7 @@
{
kdebugf();
- config_file.addVariable("MimeTeX", "mimetex_font_size", MimeTeX::defaultFontSize());
+ Application::instance()->configuration()->deprecatedApi()->addVariable("MimeTeX", "mimetex_font_size", MimeTeX::defaultFontSize());
TeXActionDescription = new ActionDescription(
this,
@@ -59,7 +61,7 @@
"TeXformulaAction",
this,
SLOT(TeXActionActivated(QAction *, bool)),
- KaduIcon(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/tex_icon.png"),
+ KaduIcon(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/tex_icon.png"),
tr("Insert TeX formula"));
kdebugf2();
@@ -70,7 +72,7 @@
kdebugf();
emit deleting();
- if(config_file.readBoolEntry("MimeTeX", "mimetex_remove_tmp_files", false))
+ if(Application::instance()->configuration()->deprecatedApi()->readBoolEntry("MimeTeX", "mimetex_remove_tmp_files", false))
{
kdebugm(KDEBUG_INFO, "Removing tmp GIFs\n");
QStringList::ConstIterator it;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime_tex/mime_tex_plugin.cpp new/mime_tex/mime_tex_plugin.cpp
--- old/mime_tex/mime_tex_plugin.cpp 2014-07-30 23:48:25.000000000 +0200
+++ new/mime_tex/mime_tex_plugin.cpp 2015-01-24 01:06:13.000000000 +0100
@@ -7,8 +7,9 @@
* *
***************************************************************************/
+#include "core/application.h"
#include "gui/windows/main-configuration-window.h"
-#include "misc/kadu-paths.h"
+#include "misc/paths-provider.h"
#include "mime_tex.h"
@@ -22,7 +23,7 @@
{
Q_UNUSED(firstLoad)
- MainConfigurationWindow::registerUiFile(KaduPaths::instance()->dataPath() + "plugins/configuration/mime_tex.ui");
+ MainConfigurationWindow::registerUiFile(Application::instance()->pathsProvider()->dataPath() + "plugins/configuration/mime_tex.ui");
MimeTeX::createInstance();
return true;
@@ -31,7 +32,7 @@
void MimeTeX::MimeTeXPlugin::done()
{
MimeTeX::destroyInstance();
- MainConfigurationWindow::unregisterUiFile(KaduPaths::instance()->dataPath() + "plugins/configuration/mime_tex.ui");
+ MainConfigurationWindow::unregisterUiFile(Application::instance()->pathsProvider()->dataPath() + "plugins/configuration/mime_tex.ui");
}
Q_EXPORT_PLUGIN2(mime_tex, MimeTeX::MimeTeXPlugin)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mime_tex/tex_formula_dialog.cpp new/mime_tex/tex_formula_dialog.cpp
--- old/mime_tex/tex_formula_dialog.cpp 2014-07-30 23:48:25.000000000 +0200
+++ new/mime_tex/tex_formula_dialog.cpp 2015-01-24 01:06:13.000000000 +0100
@@ -25,10 +25,12 @@
#include "mime_tex.h"
#include "kadu-core/gui/widgets/chat-widget/chat-widget.h"
-#include "kadu-core/configuration/configuration-file.h"
+#include "kadu-core/configuration/configuration-api.h"
+#include "kadu-core/configuration/deprecated-configuration-api.h"
#include "kadu-core/gui/widgets/custom-input.h"
-#include "kadu-core/misc/kadu-paths.h"
+#include "kadu-core/misc/paths-provider.h"
#include "kadu-core/debug.h"
+#include "kadu-core/core/application.h"
const int formulaMargin = 5;
const int componentsViewMinWidht = 401;
@@ -43,14 +45,14 @@
setAttribute(Qt::WA_DeleteOnClose);
// Check if .kadu/tex directory exists. Create one if not.
- QDir TeXDir(KaduPaths::instance()->profilePath() + "tex");
+ QDir TeXDir(Application::instance()->pathsProvider()->profilePath() + "tex");
if(!TeXDir.exists())
- if(TeXDir.mkdir(KaduPaths::instance()->profilePath() + "tex")) {
- kdebugm(KDEBUG_INFO, "Error creating directory %s\n", QString(KaduPaths::instance()->profilePath() + "tex").toLatin1().constData());
+ if(TeXDir.mkdir(Application::instance()->pathsProvider()->profilePath() + "tex")) {
+ kdebugm(KDEBUG_INFO, "Error creating directory %s\n", QString(Application::instance()->pathsProvider()->profilePath() + "tex").toLatin1().constData());
}
QDateTime curTime = QDateTime::currentDateTime();
- tmpFileName = KaduPaths::instance()->profilePath() + QString("tex/formula_%1.gif").arg(curTime.toString("yyyy-MM-dd_hh-mm"));
+ tmpFileName = Application::instance()->pathsProvider()->profilePath() + QString("tex/formula_%1.gif").arg(curTime.toString("yyyy-MM-dd_hh-mm"));
if(QFile(tmpFileName).exists())
{
kdebugm(KDEBUG_INFO, "File %s already exists!!\n", tmpFileName.toLatin1().constData());
@@ -58,7 +60,7 @@
QString tmpStr;
do
{
- tmpStr = KaduPaths::instance()->profilePath() + QString("tex/formula_%1_%2.gif").arg(curTime.toString("yyyy-MM-dd_hh:mm")).arg(i++);
+ tmpStr = Application::instance()->pathsProvider()->profilePath() + QString("tex/formula_%1_%2.gif").arg(curTime.toString("yyyy-MM-dd_hh:mm")).arg(i++);
kdebugm(KDEBUG_INFO, "tmpStr: %s\n", tmpStr.toLatin1().constData());
}
while(QFile(tmpStr).exists());
@@ -101,19 +103,19 @@
symbolsView->setViewMode(QListWidget::IconMode);
componentsView->addTab(relationsView,
- QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_icon.png"),
+ QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_icon.png"),
tr("&Relations"));
componentsView->addTab(greekLettersView,
- QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_icon.png"),
+ QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_icon.png"),
tr("&Greek Letters"));
componentsView->addTab(arrowsView,
- QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_icon.png"),
+ QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_icon.png"),
tr("&Arrows"));
componentsView->addTab(delimitersView,
- QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_icon.png"),
+ QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_icon.png"),
tr("&Delimiters"));
componentsView->addTab(symbolsView,
- QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_icon.png"),
+ QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_icon.png"),
tr("&Symbols"));
connect(relationsView, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(insertComponentSlot(QListWidgetItem *)));
@@ -122,433 +124,433 @@
connect(delimitersView, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(insertComponentSlot(QListWidgetItem *)));
connect(symbolsView, SIGNAL(itemClicked(QListWidgetItem *)), this, SLOT(insertComponentSlot(QListWidgetItem *)));
- kdebugm(KDEBUG_INFO, "%s\n", KaduPaths::instance()->dataPath().toLocal8Bit().constData());
- kdebugm(KDEBUG_INFO, "%s\n", QString(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_frac.png").toLocal8Bit().constData());
+ kdebugm(KDEBUG_INFO, "%s\n", Application::instance()->pathsProvider()->dataPath().toLocal8Bit().constData());
+ kdebugm(KDEBUG_INFO, "%s\n", QString(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_frac.png").toLocal8Bit().constData());
// Filling Relations tab
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_frac.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_frac.png")),
"\\frac{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_index_upper.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_index_upper.png")),
"^{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_index_lower.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_index_lower.png")),
"_{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sqrt.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sqrt.png")),
"\\sqrt{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sqrt_n.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sqrt_n.png")),
"\\sqrt[]{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_geq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_geq.png")),
"\\geq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_leq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_leq.png")),
"\\leq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sim.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sim.png")),
"\\sim", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_neq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_neq.png")),
"\\neq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_equiv.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_equiv.png")),
"\\equiv", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_approx.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_approx.png")),
"\\approx", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_simeq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_simeq.png")),
"\\simeq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_ll.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_ll.png")),
"\\ll", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_gg.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_gg.png")),
"\\gg", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_pm.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_pm.png")),
"\\pm", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_in.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_in.png")),
"\\in", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_ni.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_ni.png")),
"\\ni", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_cap.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_cap.png")),
"\\cap", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_cup.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_cup.png")),
"\\cup", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_bigcap.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_bigcap.png")),
"\\bigcap", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_bigcup.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_bigcup.png")),
"\\bigcup", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_subset.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_subset.png")),
"\\subset", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_supset.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_supset.png")),
"\\supset", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_subseteq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_subseteq.png")),
"\\subseteq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_supseteq.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_supseteq.png")),
"\\supseteq", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum.png")),
"\\sum{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum_from.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum_from.png")),
"\\sum\\limits_{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum_from_to.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_sum_from_to.png")),
"\\sum\\limits_{}^{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod.png")),
"\\prod{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod_from.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod_from.png")),
"\\prod\\limits_{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod_from_to.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_prod_from_to.png")),
"\\prod\\limits_{}^{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int.png")),
"\\int{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int_from.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int_from.png")),
"\\int\\limits_{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int_from_to.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_int_from_to.png")),
"\\int\\limits_{}^{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint.png")),
"\\oint{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint_from.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint_from.png")),
"\\oint\\limits_{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint_from_to.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_oint_from_to.png")),
"\\oint\\limits_{}^{}{}", relationsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_lim.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/relations_tab_lim.png")),
"\\lim_{}{}", relationsView);
// Filling Greek Letters tab
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_alpha.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_alpha.png")),
"\\alpha", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_beta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_beta.png")),
"\\beta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_gamma.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_gamma.png")),
"\\gamma", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Gamma.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Gamma.png")),
"\\Gamma", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_delta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_delta.png")),
"\\delta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Delta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Delta.png")),
"\\Delta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_epsilon.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_epsilon.png")),
"\\epsilon", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varepsilon.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varepsilon.png")),
"\\varepsilon", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_zeta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_zeta.png")),
"\\zeta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_eta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_eta.png")),
"\\eta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_theta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_theta.png")),
"\\theta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_vartheta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_vartheta.png")),
"\\vartheta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Theta.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Theta.png")),
"\\Theta", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_iota.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_iota.png")),
"\\iota", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_kappa.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_kappa.png")),
"\\kappa", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_lambda.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_lambda.png")),
"\\lambda", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Lambda.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Lambda.png")),
"\\Lambda", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_mu.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_mu.png")),
"\\mu", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_nu.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_nu.png")),
"\\nu", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_xi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_xi.png")),
"\\xi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Xi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Xi.png")),
"\\Xi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_pi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_pi.png")),
"\\pi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varpi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varpi.png")),
"\\varpi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Pi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Pi.png")),
"\\Pi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_rho.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_rho.png")),
"\\rho", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varrho.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varrho.png")),
"\\varrho", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_sigma.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_sigma.png")),
"\\sigma", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varsigma.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varsigma.png")),
"\\varsigma", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Sigma.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Sigma.png")),
"\\Sigma", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_tau.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_tau.png")),
"\\tau", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_upsilon.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_upsilon.png")),
"\\upsilon", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_phi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_phi.png")),
"\\phi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varphi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_varphi.png")),
"\\varphi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Phi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Phi.png")),
"\\Phi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_chi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_chi.png")),
"\\chi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_psi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_psi.png")),
"\\psi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Psi.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Psi.png")),
"\\Psi", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_omega.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_omega.png")),
"\\omega", greekLettersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Omega.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/greek_letters_tab_Omega.png")),
"\\Omega", greekLettersView);
// Filling arrows tab
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_vec.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_vec.png")),
"\\vec{}", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_swarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_swarrow.png")),
"\\swarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftarrow.png")),
"\\leftarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_nwarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_nwarrow.png")),
"\\nwarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_uparrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_uparrow.png")),
"\\uparrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_nearrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_nearrow.png")),
"\\nearrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightarrow.png")),
"\\rightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_searrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_searrow.png")),
"\\searrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftrightarrow.png")),
"\\leftrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_updownarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_updownarrow.png")),
"\\updownarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longleftarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longleftarrow.png")),
"\\longleftarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longrightarrow.png")),
"\\longrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longleftrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_longleftrightarrow.png")),
"\\longleftrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Leftarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Leftarrow.png")),
"\\Leftarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Rightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Rightarrow.png")),
"\\Rightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Uparrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Uparrow.png")),
"\\Uparrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Downarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Downarrow.png")),
"\\Downarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Leftrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Leftrightarrow.png")),
"\\Leftrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longleftarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longleftarrow.png")),
"\\Longleftarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longrightarrow.png")),
"\\Longrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longleftrightarrow.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_Longleftrightarrow.png")),
"\\Longleftrightarrow", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftharpoonup.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftharpoonup.png")),
"\\leftharpoonup", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftharpoondown.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_leftharpoondown.png")),
"\\leftharpoondown", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightharpoonup.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightharpoonup.png")),
"\\rightharpoonup", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightharpoondown.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightharpoondown.png")),
"\\rightharpoondown", arrowsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightleftharpoons.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/arrows_tab_rightleftharpoons.png")),
"\\rightleftharpoons", arrowsView);
// Filling Delimiters tab
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_lbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_lbrace.png")),
"\\lbrace", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_rbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_rbrace.png")),
"\\rbrace", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_langle.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_langle.png")),
"\\langle", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_rangle.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_rangle.png")),
"\\rangle", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_hat.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_hat.png")),
"\\hat", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overbrace.png")),
"\\overbrace{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overbrace_desc.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overbrace_desc.png")),
"\\overbrace{}^{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underbrace.png")),
"\\underbrace{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underbrace_desc.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underbrace_desc.png")),
"\\underbrace{}_{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overline.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_overline.png")),
"\\overline{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underline.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_underline.png")),
"\\underline{}", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_bracket.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_bracket.png")),
"\\left(", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_bracket.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_bracket.png")),
"\\right)", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_square_bracket.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_square_bracket.png")),
"\\left[", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_square_bracket.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_square_bracket.png")),
"\\right]", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_lbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_left_lbrace.png")),
"\\left{", delimitersView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_rbrace.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/delimiters_tab_right_rbrace.png")),
"\\right}", delimitersView);
// Filling Symbols tab
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_infty.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_infty.png")),
"\\infty", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_cdot.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_cdot.png")),
"\\cdot", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_cdots.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_cdots.png")),
"\\cdots", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_ldots.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_ldots.png")),
"\\ldots", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_ddots.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_ddots.png")),
"\\ddots", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_hbar.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_hbar.png")),
"\\hbar", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_nabla.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_nabla.png")),
"\\nabla", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_partial.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_partial.png")),
"\\partial", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_aleph.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_aleph.png")),
"\\aleph", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_Re.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_Re.png")),
"\\Re", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_Im.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_Im.png")),
"\\Im", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_bot.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_bot.png")),
"\\bot", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_emptyset.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_emptyset.png")),
"\\emptyset", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_prime.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_prime.png")),
"\\prime", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_surd.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_surd.png")),
"\\surd", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_angle.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_angle.png")),
"\\angle", symbolsView);
(void) new QListWidgetItem(QIcon(QPixmap(
- KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_forall.png")),
+ Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/mime_tex_icons/symbols_tab_forall.png")),
"\\forall", symbolsView);
- undoButton = new QPushButton(QIcon(QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/editor_icons/undo.png")),
+ undoButton = new QPushButton(QIcon(QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/editor_icons/undo.png")),
tr("&Undo"), this);
- redoButton = new QPushButton(QIcon(QPixmap(KaduPaths::instance()->dataPath() + "plugins/data/mime_tex/editor_icons/redo.png")),
+ redoButton = new QPushButton(QIcon(QPixmap(Application::instance()->pathsProvider()->dataPath() + "plugins/data/mime_tex/editor_icons/redo.png")),
tr("&Redo"), this);
QPushButton *okButton = new QPushButton(tr("&Ok"), this);
QPushButton *cancelButton = new QPushButton(tr("&Cancel"), this);
@@ -578,7 +580,7 @@
undoButton->setEnabled(false);
redoButton->setEnabled(false);
- timer.start(config_file.readNumEntry("MimeTeX", "mimetex_refreshment_interval", 2000));
+ timer.start(Application::instance()->configuration()->deprecatedApi()->readNumEntry("MimeTeX", "mimetex_refreshment_interval", 2000));
formulaTextEdit->setFocus();
kdebugf2();
@@ -612,10 +614,10 @@
file.remove();
QString formulaStr = formulaTextEdit->toPlainText();
formulaStr.replace(QChar('\n'), QChar(' '));
- if(!config_file.readBoolEntry("MimeTeX", "mimetex_transparent_bg", false))
+ if(!Application::instance()->configuration()->deprecatedApi()->readBoolEntry("MimeTeX", "mimetex_transparent_bg", false))
arguments << "-o";
arguments << "-s";
- arguments << QString::number(config_file.readNumEntry("MimeTeX", "mimetex_font_size",
+ arguments << QString::number(Application::instance()->configuration()->deprecatedApi()->readNumEntry("MimeTeX", "mimetex_font_size",
MimeTeX::defaultFontSize()));
arguments << "-e";
arguments << tmpFileName;
@@ -628,7 +630,7 @@
kdebugm(KDEBUG_INFO, "Arg[%d]=%s\n", i++, (*it).toLocal8Bit().constData());
#endif
//mimeTeXProcess.start(libPath("bin/mime_tex/mimetex"),
- mimeTeXProcess.start(KaduPaths::instance()->pluginsLibPath() + "bin/mime_tex/mimetex",
+ mimeTeXProcess.start(Application::instance()->pathsProvider()->pluginsLibPath() + "bin/mime_tex/mimetex",
arguments);
mimeTeXProcess.waitForStarted();
}
1
0
Hello community,
here is the log from the commit of package kdebindings3 for openSUSE:Factory checked in at 2015-09-08 17:45:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdebindings3 (Old)
and /work/SRC/openSUSE:Factory/.kdebindings3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdebindings3"
Changes:
--------
kdebindings3-javascript.changes: same change
--- /work/SRC/openSUSE:Factory/kdebindings3/kdebindings3.changes 2015-06-05 08:46:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdebindings3.new/kdebindings3.changes 2015-09-08 18:10:47.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 00:00:00 CEST 2015 - dsterba(a)suse.cz
+
+- fix build on factory
+ * Added: fix-perl-no-defined-array.diff
+
+-------------------------------------------------------------------
New:
----
fix-perl-no-defined-array.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
kdebindings3-javascript.spec: same change
++++++ kdebindings3.spec ++++++
--- /var/tmp/diff_new_pack.GJGTUa/_old 2015-09-08 18:11:03.000000000 +0200
+++ /var/tmp/diff_new_pack.GJGTUa/_new 2015-09-08 18:11:03.000000000 +0200
@@ -47,6 +47,7 @@
Patch10: admin-no-hpi.diff
Patch11: ruby-constness.diff
Patch12: kdebindings-3.5.10-alt-ruby-compile.patch
+Patch13: fix-perl-no-defined-array.diff
%description
This package contains generator applications for creating bindings for
@@ -98,6 +99,7 @@
%if %suse_version > 1210
%patch12 -p1
%endif
+%patch13 -p1
# eventually we have a patch in kdelibs adding that
if test -f /opt/kde3/include/kscrollview.h; then
++++++ fix-perl-no-defined-array.diff ++++++
Index: kdebindings-3.5.10/kalyptus/kdocAstUtil.pm
===================================================================
--- kdebindings-3.5.10.orig/kalyptus/kdocAstUtil.pm
+++ kdebindings-3.5.10/kalyptus/kdocAstUtil.pm
@@ -674,7 +674,7 @@ sub dumpAst
dumpAst( $kid );
}
- print "\t" x $depth, "Documentation nodes:\n" if defined
+ print "\t" x $depth, "Documentation nodes:\n" if
@{ $node->{Doc}->{ "Text" }};
foreach $kid ( @{ $node->{Doc}->{ "Text" }} ) {
1
0
Hello community,
here is the log from the commit of package kdepim3 for openSUSE:Factory checked in at 2015-09-08 17:45:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdepim3 (Old)
and /work/SRC/openSUSE:Factory/.kdepim3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepim3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdepim3/kdepim3.changes 2015-07-14 17:44:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdepim3.new/kdepim3.changes 2015-09-08 18:10:05.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 00:00:00 CEST 2015 - dsterba(a)suse.cz
+
+- fix build on factory
+ * Added: fix-perl-no-defined-array.diff
+
+-------------------------------------------------------------------
New:
----
fix-perl-no-defined-array.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim3.spec ++++++
--- /var/tmp/diff_new_pack.Segt8m/_old 2015-09-08 18:10:47.000000000 +0200
+++ /var/tmp/diff_new_pack.Segt8m/_new 2015-09-08 18:10:47.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package kdepim3
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -84,6 +84,7 @@
Patch144: kdepim3-gentoo-fix-imap4.patch
Patch145: kdepim-trinity-fix-memory-leak.diff
Patch146: trinity-fix-kmail-crash-when-started-offline.patch
+Patch147: fix-perl-no-defined-array.diff
Provides: cryptplug
Obsoletes: cryptplug
@@ -291,6 +292,7 @@
%patch144 -p1
%patch145 -p1
%patch146 -p1
+%patch147 -p1
. /etc/opt/kde3/common_options
update_admin
++++++ fix-perl-no-defined-array.diff ++++++
defined(@array) is deprecated and is an error newer perl
Index: kdepim-3.5.10/dcopidlng/kdocAstUtil.pm
===================================================================
--- kdepim-3.5.10.orig/dcopidlng/kdocAstUtil.pm
+++ kdepim-3.5.10/dcopidlng/kdocAstUtil.pm
@@ -647,7 +647,7 @@ sub dumpAst
dumpAst( $kid );
}
- print "\t" x $depth, "Documentation nodes:\n" if defined
+ print "\t" x $depth, "Documentation nodes:\n" if
@{ $node->{Doc}->{ "Text" }};
foreach $kid ( @{ $node->{Doc}->{ "Text" }} ) {
1
0
Hello community,
here is the log from the commit of package kdelibs3 for openSUSE:Factory checked in at 2015-09-08 17:45:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs3 (Old)
and /work/SRC/openSUSE:Factory/.kdelibs3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs3/kdelibs3.changes 2015-06-06 09:54:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs3.new/kdelibs3.changes 2015-09-08 18:09:19.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 00:00:00 CEST 2015 - dsterba(a)suse.cz
+
+- fix build on factory
+ * Added: fix-perl-no-defined-array.diff
+
+-------------------------------------------------------------------
New:
----
fix-perl-no-defined-array.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs3.spec ++++++
--- /var/tmp/diff_new_pack.wzi77F/_old 2015-09-08 18:10:04.000000000 +0200
+++ /var/tmp/diff_new_pack.wzi77F/_new 2015-09-08 18:10:04.000000000 +0200
@@ -208,6 +208,7 @@
Patch231: kdelibs-3.5.10-cups16.patch
Patch232: kdelibs-3.5.10-cups20.patch
Patch233: kdelibs-3.5.10-CVE-2013-2074.patch
+Patch234: fix-perl-no-defined-array.diff
%description
This package contains kdelibs, one of the basic packages of the K
@@ -416,6 +417,7 @@
%patch230 -p1
%patch231 -p1
%patch232 -p1
+%patch234 -p1
# disable a debug feature
sed -i 's|#define KICONLOADER_CHECKS||g' kdecore/kiconloader.cpp
++++++ fix-perl-no-defined-array.diff ++++++
defined(@array) is deprecated and is an error newer perl
Index: kdelibs-3.5.10/dcop/dcopidlng/kdocAstUtil.pm
===================================================================
--- kdelibs-3.5.10.orig/dcop/dcopidlng/kdocAstUtil.pm
+++ kdelibs-3.5.10/dcop/dcopidlng/kdocAstUtil.pm
@@ -438,7 +438,7 @@ sub dumpAst
dumpAst( $kid );
}
- print "\t" x $depth, "Documentation nodes:\n" if defined
+ print "\t" x $depth, "Documentation nodes:\n" if
@{ $node->{Doc}->{ "Text" }};
foreach $kid ( @{ $node->{Doc}->{ "Text" }} ) {
1
0
Hello community,
here is the log from the commit of package wine-gecko for openSUSE:Factory checked in at 2015-09-08 17:45:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wine-gecko (Old)
and /work/SRC/openSUSE:Factory/.wine-gecko.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wine-gecko"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wine-gecko/wine-gecko.changes 2015-03-11 09:57:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.wine-gecko.new/wine-gecko.changes 2015-09-08 18:06:55.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 7 19:46:29 UTC 2015 - meissner(a)suse.com
+
+- update to 2.40 (Firefox 40 based) for Wine 1.7.50
+
+-------------------------------------------------------------------
Old:
----
wine_gecko-2.36-x86.msi
wine_gecko-2.36-x86_64.msi
New:
----
wine_gecko-2.40-x86.msi
wine_gecko-2.40-x86_64.msi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wine-gecko.spec ++++++
--- /var/tmp/diff_new_pack.sBvE6t/_old 2015-09-08 18:09:19.000000000 +0200
+++ /var/tmp/diff_new_pack.sBvE6t/_new 2015-09-08 18:09:19.000000000 +0200
@@ -20,7 +20,7 @@
Summary: The Wine specific Gecko HTML rendering engine
License: MPL-1.1+
Group: Development/Tools/Other
-Version: 2.36
+Version: 2.40
Release: 0
Source0: http://downloads.sourceforge.net/wine/wine_gecko-%{version}-x86.msi
Source1: http://downloads.sourceforge.net/wine/wine_gecko-%{version}-x86_64.msi
1
0
Hello community,
here is the log from the commit of package xmltooling for openSUSE:Factory checked in at 2015-09-08 17:45:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xmltooling (Old)
and /work/SRC/openSUSE:Factory/.xmltooling.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xmltooling"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xmltooling/xmltooling.changes 2015-08-29 20:04:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xmltooling.new/xmltooling.changes 2015-09-08 18:06:50.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Sep 7 14:39:36 UTC 2015 - kstreitova(a)suse.com
+
+- update to xmltooling 1.5.6
+ * [CPPXT-105] - PKIX revocation checking calls OpenSSL's
+ X509_verify_cert in an unsupported way (breaks with OpenSSL
+ 1.0.1p/1.0.2d and later)
+
+-------------------------------------------------------------------
+Wed Aug 5 18:04:11 UTC 2015 - mpluskal(a)suse.com
+
+- Add gpg signature
+
+-------------------------------------------------------------------
Old:
----
xmltooling-1.5.5.tar.bz2
New:
----
xmltooling-1.5.6.tar.bz2
xmltooling-1.5.6.tar.bz2.asc
xmltooling.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xmltooling.spec ++++++
--- /var/tmp/diff_new_pack.HpoNH6/_old 2015-09-08 18:06:52.000000000 +0200
+++ /var/tmp/diff_new_pack.HpoNH6/_new 2015-09-08 18:06:52.000000000 +0200
@@ -18,13 +18,15 @@
%define pkgdocdir %{_docdir}/%{name}
Name: xmltooling
-Version: 1.5.5
+Version: 1.5.6
Release: 0
Summary: OpenSAML XML library
License: Apache-2.0
Group: Development/Libraries/C and C++
Url: https://wiki.shibboleth.net/confluence/display/OpenSAML/XMLTooling-C
-Source: http://shibboleth.net/downloads/c++-opensaml/2.5.5/%{name}-%{version}.tar.b…
+Source0: http://shibboleth.net/downloads/c++-opensaml/2.5.5/%{name}-%{version}.tar.b…
+Source1: http://shibboleth.net/downloads/c++-opensaml/2.5.5/%{name}-%{version}.tar.b…
+Source2: %{name}.keyring
Patch0: xmltooling-1.5.5-doxygen_timestamp.patch
BuildRequires: boost-devel >= 1.32.0
BuildRequires: curl-devel >= 7.10.6
++++++ xmltooling-1.5.5.tar.bz2 -> xmltooling-1.5.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/config_win32.h new/xmltooling-1.5.6/config_win32.h
--- old/xmltooling-1.5.5/config_win32.h 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/config_win32.h 2015-08-04 15:46:59.000000000 +0200
@@ -114,13 +114,13 @@
#define PACKAGE_NAME "xmltooling"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "xmltooling 1.5.5"
+#define PACKAGE_STRING "xmltooling 1.5.6"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "xmltooling"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.5.5"
+#define PACKAGE_VERSION "1.5.6"
/* Define to the necessary symbol if this constant uses a non-standard name on
your system. */
@@ -133,7 +133,7 @@
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
-#define VERSION "1.5.5"
+#define VERSION "1.5.6"
/* Define if you wish to disable XML-Security-dependent features. */
/* #undef XMLTOOLING_NO_XMLSEC */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/configure new/xmltooling-1.5.6/configure
--- old/xmltooling-1.5.5/configure 2015-07-09 17:28:23.000000000 +0200
+++ new/xmltooling-1.5.6/configure 2015-08-04 15:47:20.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xmltooling 1.5.5.
+# Generated by GNU Autoconf 2.69 for xmltooling 1.5.6.
#
# Report bugs to <https://issues.shibboleth.net/>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='xmltooling'
PACKAGE_TARNAME='xmltooling'
-PACKAGE_VERSION='1.5.5'
-PACKAGE_STRING='xmltooling 1.5.5'
+PACKAGE_VERSION='1.5.6'
+PACKAGE_STRING='xmltooling 1.5.6'
PACKAGE_BUGREPORT='https://issues.shibboleth.net/'
PACKAGE_URL=''
@@ -1413,7 +1413,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xmltooling 1.5.5 to adapt to many kinds of systems.
+\`configure' configures xmltooling 1.5.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1483,7 +1483,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xmltooling 1.5.5:";;
+ short | recursive ) echo "Configuration of xmltooling 1.5.6:";;
esac
cat <<\_ACEOF
@@ -1619,7 +1619,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xmltooling configure 1.5.5
+xmltooling configure 1.5.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2354,7 +2354,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xmltooling $as_me 1.5.5, which was
+It was created by xmltooling $as_me 1.5.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3219,7 +3219,7 @@
# Define the identity of the package.
PACKAGE='xmltooling'
- VERSION='1.5.5'
+ VERSION='1.5.6'
cat >>confdefs.h <<_ACEOF
@@ -21680,7 +21680,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xmltooling $as_me 1.5.5, which was
+This file was extended by xmltooling $as_me 1.5.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21746,7 +21746,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xmltooling config.status 1.5.5
+xmltooling config.status 1.5.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/configure.ac new/xmltooling-1.5.6/configure.ac
--- old/xmltooling-1.5.5/configure.ac 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/configure.ac 2015-08-04 15:46:59.000000000 +0200
@@ -1,6 +1,6 @@
# Process this file with autoreconf
AC_PREREQ([2.50])
-AC_INIT([xmltooling],[1.5.5],[https://issues.shibboleth.net/],[xmltooling])
+AC_INIT([xmltooling],[1.5.6],[https://issues.shibboleth.net/],[xmltooling])
AC_CONFIG_SRCDIR(xmltooling)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_MACRO_DIR(m4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling/Makefile.am new/xmltooling-1.5.6/xmltooling/Makefile.am
--- old/xmltooling-1.5.5/xmltooling/Makefile.am 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling/Makefile.am 2015-08-04 15:46:59.000000000 +0200
@@ -204,13 +204,13 @@
libxmltooling_lite_la_SOURCES = \
${common_sources}
libxmltooling_lite_la_CPPFLAGS = -DXMLTOOLING_LITE
-libxmltooling_lite_la_LDFLAGS = -version-info 6:5:0
+libxmltooling_lite_la_LDFLAGS = -version-info 6:6:0
if BUILD_XMLSEC
libxmltooling_la_SOURCES = \
${common_sources} \
${xmlsec_sources}
-libxmltooling_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 6:5:0
+libxmltooling_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 6:6:0
endif
install-exec-hook:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling/Makefile.in new/xmltooling-1.5.6/xmltooling/Makefile.in
--- old/xmltooling-1.5.5/xmltooling/Makefile.in 2015-07-09 17:16:42.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling/Makefile.in 2015-08-04 15:47:21.000000000 +0200
@@ -704,12 +704,12 @@
${common_sources}
libxmltooling_lite_la_CPPFLAGS = -DXMLTOOLING_LITE
-libxmltooling_lite_la_LDFLAGS = -version-info 6:5:0
+libxmltooling_lite_la_LDFLAGS = -version-info 6:6:0
@BUILD_XMLSEC_TRUE@libxmltooling_la_SOURCES = \
@BUILD_XMLSEC_TRUE@ ${common_sources} \
@BUILD_XMLSEC_TRUE@ ${xmlsec_sources}
-@BUILD_XMLSEC_TRUE@libxmltooling_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 6:5:0
+@BUILD_XMLSEC_TRUE@libxmltooling_la_LDFLAGS = $(XMLSEC_LIBS) -version-info 6:6:0
EXTRA_DIST = \
xmltooling.vcxproj \
xmltooling-lite.vcxproj \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling/security/impl/PKIXPathValidator.cpp new/xmltooling-1.5.6/xmltooling/security/impl/PKIXPathValidator.cpp
--- old/xmltooling-1.5.5/xmltooling/security/impl/PKIXPathValidator.cpp 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling/security/impl/PKIXPathValidator.cpp 2015-08-04 15:46:59.000000000 +0200
@@ -291,7 +291,7 @@
// AFAICT, EE and untrusted are passed in but not owned by the ctx.
#if (OPENSSL_VERSION_NUMBER >= 0x00907000L)
- if (X509_STORE_CTX_init(&ctx,store,EE,untrusted)!=1) {
+ if (X509_STORE_CTX_init(&ctx,store,EE,untrusted) != 1) {
log_openssl();
m_log.error("unable to initialize X509_STORE_CTX");
X509_STORE_free(store);
@@ -317,8 +317,8 @@
X509_STORE_CTX_set_verify_cb(&ctx,error_callback);
// Do a first pass verify. If CRLs aren't used, this is the only pass.
- int ret=X509_verify_cert(&ctx);
- if (ret==1) {
+ int ret = X509_verify_cert(&ctx);
+ if (ret == 1) {
// Now see if the depth was acceptable by counting the number of intermediates.
int depth=sk_X509_num(ctx.chain)-2;
if (pkixParams->getVerificationDepth() < depth) {
@@ -327,12 +327,17 @@
(depth==-1) ? 0 : depth,
pkixParams->getVerificationDepth()
);
- ret=0;
+ ret = 0;
}
}
- if (pkixParams->getRevocationChecking() != PKIXPathValidatorParams::REVOCATION_OFF) {
+ // If the first pass succeeded, check to see if we need a second with CRLs.
+ if (ret == 1 && pkixParams->getRevocationChecking() != PKIXPathValidatorParams::REVOCATION_OFF) {
#if (OPENSSL_VERSION_NUMBER >= 0x00907000L)
+ // After the first X509_verify_cert call, the ctx can no longer be used
+ // (subsequent calls will fail with OpenSSL 1.0.1p / 1.0.2d or later).
+ X509_STORE_CTX_cleanup(&ctx);
+
// When we add CRLs, we have to be sure the nextUpdate hasn't passed, because OpenSSL won't accept
// the CRL in that case. If we end up not adding a CRL for a particular link in the chain, the
// validation will fail (if the fullChain option was set).
@@ -391,12 +396,27 @@
}
}
- // Do a second pass verify with CRLs in place.
- if (pkixParams->getRevocationChecking() == PKIXPathValidatorParams::REVOCATION_FULLCHAIN)
- X509_STORE_CTX_set_flags(&ctx, X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL);
- else
- X509_STORE_CTX_set_flags(&ctx, X509_V_FLAG_CRL_CHECK);
- ret=X509_verify_cert(&ctx);
+ // Do a second pass verify with CRLs in place. Reinitialize ctx, see
+ // https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=aae41f8c54257d…
+#if (OPENSSL_VERSION_NUMBER >= 0x00907000L)
+ if (X509_STORE_CTX_init(&ctx,store,EE,untrusted) != 1) {
+ log_openssl();
+ m_log.error("unable to initialize X509_STORE_CTX");
+ ret = 0;
+ }
+#else
+ X509_STORE_CTX_init(&ctx,store,EE,untrusted);
+#endif
+ if (ret != 0) {
+ X509_STORE_CTX_trusted_stack(&ctx,CAstack);
+ X509_STORE_CTX_set_depth(&ctx,100); // already checked above
+ X509_STORE_CTX_set_verify_cb(&ctx,error_callback);
+ if (pkixParams->getRevocationChecking() == PKIXPathValidatorParams::REVOCATION_FULLCHAIN)
+ X509_STORE_CTX_set_flags(&ctx, X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL);
+ else
+ X509_STORE_CTX_set_flags(&ctx, X509_V_FLAG_CRL_CHECK);
+ ret = X509_verify_cert(&ctx);
+ }
#else
m_log.warn("CRL checking is enabled, but OpenSSL version is too old");
ret = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling/version.h new/xmltooling-1.5.6/xmltooling/version.h
--- old/xmltooling-1.5.5/xmltooling/version.h 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling/version.h 2015-08-04 15:46:59.000000000 +0200
@@ -44,7 +44,7 @@
#define XMLTOOLING_VERSION_MAJOR 1
#define XMLTOOLING_VERSION_MINOR 5
-#define XMLTOOLING_VERSION_REVISION 5
+#define XMLTOOLING_VERSION_REVISION 6
/** DO NOT MODIFY BELOW THIS LINE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling/xmltooling.rc new/xmltooling-1.5.6/xmltooling/xmltooling.rc
--- old/xmltooling-1.5.5/xmltooling/xmltooling.rc 2015-07-09 17:16:13.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling/xmltooling.rc 2015-08-04 15:46:59.000000000 +0200
@@ -28,7 +28,7 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,5,5,0
+ FILEVERSION 1,5,6,0
PRODUCTVERSION 2,5,5,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
@@ -51,7 +51,7 @@
#else
VALUE "FileDescription", "OpenSAML XMLTooling Library\0"
#endif
- VALUE "FileVersion", "1, 5, 5, 0\0"
+ VALUE "FileVersion", "1, 5, 6, 0\0"
#ifdef XMLTOOLING_LITE
#ifdef _DEBUG
VALUE "InternalName", "xmltooling-lite1_5D\0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmltooling-1.5.5/xmltooling.spec new/xmltooling-1.5.6/xmltooling.spec
--- old/xmltooling-1.5.5/xmltooling.spec 2015-07-20 19:07:17.000000000 +0200
+++ new/xmltooling-1.5.6/xmltooling.spec 2015-08-04 15:47:45.000000000 +0200
@@ -1,5 +1,5 @@
Name: xmltooling
-Version: 1.5.5
+Version: 1.5.6
Release: 1
Summary: OpenSAML XMLTooling library
Group: Development/Libraries/C and C++
1
0
Hello community,
here is the log from the commit of package perl-Pod-Coverage-Moose for openSUSE:Factory checked in at 2015-09-08 17:45:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Pod-Coverage-Moose (Old)
and /work/SRC/openSUSE:Factory/.perl-Pod-Coverage-Moose.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Pod-Coverage-Moose"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Pod-Coverage-Moose/perl-Pod-Coverage-Moose.changes 2014-03-18 14:16:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Pod-Coverage-Moose.new/perl-Pod-Coverage-Moose.changes 2015-09-08 18:06:47.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Sep 6 08:56:46 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.07
+ see /usr/share/doc/packages/perl-Pod-Coverage-Moose/Changes
+
+ 0.07 2015-09-05 04:03:44Z
+ - fix test failures on Moose >= 2.1300 when
+ MooseX::Role::WithOverloading is not installed (RT#106898)
+
+ 0.06 2015-08-16 06:51:50Z
+ - update some distribution tooling
+
+-------------------------------------------------------------------
Old:
----
Pod-Coverage-Moose-0.05.tar.gz
New:
----
Pod-Coverage-Moose-0.07.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Pod-Coverage-Moose.spec ++++++
--- /var/tmp/diff_new_pack.lF1LWd/_old 2015-09-08 18:06:49.000000000 +0200
+++ /var/tmp/diff_new_pack.lF1LWd/_new 2015-09-08 18:06:49.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Pod-Coverage-Moose
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,27 +17,29 @@
Name: perl-Pod-Coverage-Moose
-Version: 0.05
+Version: 0.07
Release: 0
%define cpan_name Pod-Coverage-Moose
Summary: Pod::Coverage extension for Moose
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Pod-Coverage-Moose/
-Source: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Class::Load)
-BuildRequires: perl(Module::Build::Tiny) >= 0.030
-BuildRequires: perl(Moose) >= 0.24
+BuildRequires: perl(Module::Build::Tiny) >= 0.034
+BuildRequires: perl(Moose) >= 2.1300
BuildRequires: perl(Moose::Role)
BuildRequires: perl(Pod::Coverage)
+BuildRequires: perl(Test::More) >= 0.88
BuildRequires: perl(Test::Requires)
BuildRequires: perl(namespace::autoclean) >= 0.08
Requires: perl(Class::Load)
-Requires: perl(Moose) >= 0.24
+Requires: perl(Moose) >= 2.1300
Requires: perl(Pod::Coverage)
Requires: perl(namespace::autoclean) >= 0.08
%{perl_requires}
@@ -70,6 +72,6 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes CONTRIBUTING LICENSE README README.md weaver.ini
+%doc Changes CONTRIBUTING LICENSE README
%changelog
++++++ Pod-Coverage-Moose-0.05.tar.gz -> Pod-Coverage-Moose-0.07.tar.gz ++++++
++++ 4284 lines of diff (skipped)
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module
1
0
Hello community,
here is the log from the commit of package libskk for openSUSE:Factory checked in at 2015-09-08 17:45:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libskk (Old)
and /work/SRC/openSUSE:Factory/.libskk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libskk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libskk/libskk.changes 2014-10-16 18:16:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libskk.new/libskk.changes 2015-09-08 18:06:45.000000000 +0200
@@ -1,0 +2,18 @@
+Mon Sep 7 11:10:59 UTC 2015 - dimstar(a)opensuse.org
+
+- Add libskk-typlib-dependencies.patch: Fix dependency between
+ Skk.typelib and the library.
+- Move autogen.sh to build phase, where it belongs.
+
+-------------------------------------------------------------------
+Tue Aug 25 11:55:21 UTC 2015 - opensuse-packaging(a)opensuse.org
+
+- Update to version 1.2.0+git20150413.be6e20b:
+ + Issue #33. Fix initial state of okuri ari recursive edit.
+ + Add test for Issue #33
+ + Dictionary switch just needs one press (two before), but if
+ there's number two press is still needed.
+ + rules: inherit KZIK keymap from the default keymap
+ + Inherit default/{latin,wide-latin} (KZIK)
+
+-------------------------------------------------------------------
Old:
----
libskk-1.0.2.tar.gz
New:
----
_service
_servicedata
baselibs.conf
libskk-1.2.0+git20150413.be6e20b.tar.xz
libskk-typlib-dependencies.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libskk.spec ++++++
--- /var/tmp/diff_new_pack.HcfLcT/_old 2015-09-08 18:06:47.000000000 +0200
+++ /var/tmp/diff_new_pack.HcfLcT/_new 2015-09-08 18:06:47.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libskk
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,14 +16,17 @@
#
+%define soname 0
Name: libskk
-Version: 1.0.2
+Version: 1.2.0+git20150413.be6e20b
Release: 0
Summary: A statistical language model based Japanese input method engine
License: GPL-3.0+
Group: System/I18n/Japanese
Url: http://github.com/ueno/libskk
-Source0: https://github.com/ueno/libskk/releases/download/%{version}/%{name}-%{versi…
+Source: %{name}-%{version}.tar.xz
+Source99: baselibs.conf
+Patch0: libskk-typlib-dependencies.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gnome-common
@@ -33,45 +36,44 @@
BuildRequires: python-devel
BuildRequires: sqlite3-devel
BuildRequires: vala-devel >= 0.14
+BuildRequires: xz
BuildRequires: pkgconfig(gee-0.8)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(json-glib-1.0)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
SKK is a statistical language model based Japanese input method engine.
to model the Japanese language, it use a backoff bigram and trigram
-%package -n libskk0
+%package -n %{name}%{soname}
Summary: Libskk libraries
-Group: System/I18n/Japanese
+Group: System/Libraries
Requires: skkdic
Requires: skkdic-extra
-Provides: %{name} = %{version}
-Obsoletes: %{name} < %{version}
-%description -n libskk0
+%description -n %{name}%{soname}
SKK is a statistical language model based Japanese input method engine.
to model the Japanese language, it use a backoff bigram and trigram
-This packge provides GObject-based library to deal with Japanese
+This package provides GObject-based library to deal with Japanese
kana-to-kanji conversion method.
-#%package -n typelib-1_0-Skk-1_0
-#Summary: Libskk libraries -- Introspection bindings
-#Group: System/I18n/Japanese
-#Requires: girepository-1_0
-#Requires: %{name} = %{version}
-
-#%description -n typelib-1_0-Skk-1_0
-#SKK is a statistical language model based Japanese input method engine.
-#to model the Japanese language, it use a backoff bigram and trigram
+%package -n typelib-1_0-Skk-1_0
+Summary: Libskk libraries -- Introspection bindings
+Group: System/I18n/Japanese
+Requires: girepository-1_0
+
+%description -n typelib-1_0-Skk-1_0
+SKK is a statistical language model based Japanese input method engine.
+to model the Japanese language, it use a backoff bigram and trigram
-#This package provides the introspection bindings for the libskk library.
+This package provides the introspection bindings for the libskk library.
%package -n libskk-devel
Summary: Development Files for libskk
Group: Development/Libraries/Other
-Requires: %{name} = %{version}
+Requires: %{name}%{soname} = %{version}
%description -n libskk-devel
SKK is a statistical language model based Japanese input method engine.
@@ -81,42 +83,44 @@
%prep
%setup -q
+%patch0 -p1
%build
+NOCONFIGURE=1 ./autogen.sh
%configure --disable-static \
- --enable-introspection=no
+ --enable-introspection=yes
make %{?_smp_mflags}
%install
-%make_install
-rm %{buildroot}/%{_libdir}/libskk.la
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
+find %{buildroot}/%{_libdir} -name "*.la" -delete
%find_lang %{name}
%fdupes %{buildroot}
-%post -n libskk0 -p /sbin/ldconfig
+%post -n %{name}%{soname} -p /sbin/ldconfig
-%postun -n libskk0 -p /sbin/ldconfig
+%postun -n %{name}%{soname} -p /sbin/ldconfig
-%files -n libskk0 -f %{name}.lang
+%files -n %{name}%{soname} -f %{name}.lang
%defattr(-,root,root)
-%doc AUTHORS ChangeLog COPYING README NEWS
+%doc COPYING README NEWS
%{_mandir}/man1/skk.1.gz
%{_bindir}/skk
%{_libdir}/%{name}.so.*
%{_datadir}/%{name}
-#%files -n typelib-1_0-Skk-1_0
-#%defattr(-,root,root,-)
-#%{_libdir}/girepository-1.0/Skk-1.0.typelib
+%files -n typelib-1_0-Skk-1_0
+%defattr(-,root,root,-)
+%{_libdir}/girepository-1.0/Skk-1.0.typelib
%files -n libskk-devel
%defattr(-,root,root)
%{_includedir}/%{name}
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/libskk.pc
-#%{_datadir}/gir-1.0/Skk-1.0.gir
+%{_datadir}/gir-1.0/Skk-1.0.gir
%{_datadir}/vala/vapi/skk-1.0.deps
%{_datadir}/vala/vapi/skk-1.0.vapi
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/ueno/libskk</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">1.2.0+git%cd.%h</param>
<param name="revision">master</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">libskk-*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">libskk</param>
</service>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/ueno/libskk</param>
<param name="changesrevision">be6e20bf307173aa002b1232ac4966c41fa764b8</param></service></servicedata>++++++ baselibs.conf ++++++
libskk0
requires "skkdic"
requires "skkdic-extra"
++++++ libskk-typlib-dependencies.patch ++++++
Index: libskk-1.2.0+git20150413.be6e20b/libskk/Makefile.am
===================================================================
--- libskk-1.2.0+git20150413.be6e20b.orig/libskk/Makefile.am
+++ libskk-1.2.0+git20150413.be6e20b/libskk/Makefile.am
@@ -85,7 +85,7 @@ typelibdir = $(libdir)/girepository-1.0
typelib_DATA = Skk-@SKK_API_VERSION@.typelib
Skk-@SKK_API_VERSION@.typelib: Skk-@SKK_API_VERSION@.gir
- @INTROSPECTION_COMPILER@ --shared-library=libskk -o $@ $^
+ @INTROSPECTION_COMPILER@ --shared-library=libskk.so.$(LT_CURRENT) -o $@ $^
endif
Skk-@SKK_API_VERSION@.gir skk-internals-@SKK_API_VERSION@.vapi skk-@SKK_API_VERSION@.vapi: libskk.la
1
0
Hello community,
here is the log from the commit of package afl for openSUSE:Factory checked in at 2015-09-08 17:45:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/afl (Old)
and /work/SRC/openSUSE:Factory/.afl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "afl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/afl/afl.changes 2015-08-12 15:13:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.afl.new/afl.changes 2015-09-08 18:06:42.000000000 +0200
@@ -1,0 +2,37 @@
+Mon Sep 7 13:22:07 UTC 2015 - astieger(a)suse.com
+
+- afl 1.92b:
+ * C++ fix (namespaces)
+
+-------------------------------------------------------------------
+Thu Sep 3 14:32:09 UTC 2015 - astieger(a)suse.com
+
+- afl 1.91b:
+ * C++ instrumentation fixes
+- includes changes from 1.90b:
+ * documentation updates
+ * Fixed a potential problem with deferred mode signatures getting
+ optimized out by the linker (with --gc-sections).
+
+-------------------------------------------------------------------
+Wed Sep 2 07:57:31 UTC 2015 - astieger(a)suse.com
+
+- afl 1.89b:
+ * Revamped the support for persistent and deferred forkserver
+ modes. Both now feature simpler syntax and do not require
+ companion env variables.
+ * Added a bit more info about afl-showmap.
+
+-------------------------------------------------------------------
+Sun Aug 30 23:40:19 UTC 2015 - astieger(a)suse.com
+
+- afl 1.88b:
+ * Make AFL_EXIT_WHEN_DONE work in non-tty mode.
+
+-------------------------------------------------------------------
+Thu Aug 27 14:32:46 UTC 2015 - astieger(a)suse.com
+
+- afl 1.87b:
+ * Add QuickStartGuide.txt and other documentation updates
+
+-------------------------------------------------------------------
Old:
----
afl-1.86b.tgz
New:
----
afl-1.92b.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ afl.spec ++++++
--- /var/tmp/diff_new_pack.ukTcEm/_old 2015-09-08 18:06:45.000000000 +0200
+++ /var/tmp/diff_new_pack.ukTcEm/_new 2015-09-08 18:06:45.000000000 +0200
@@ -17,7 +17,7 @@
Name: afl
-Version: 1.86b
+Version: 1.92b
Release: 0
Summary: American fuzzy lop is a security-oriented fuzzer
License: Apache-2.0
++++++ afl-1.86b.tgz -> afl-1.92b.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/Makefile new/afl-1.92b/Makefile
--- old/afl-1.86b/Makefile 2015-08-09 06:26:31.000000000 +0200
+++ new/afl-1.92b/Makefile 2015-09-03 19:54:32.000000000 +0200
@@ -14,7 +14,7 @@
#
PROGNAME = afl
-VERSION = 1.86b
+VERSION = 1.92b
PREFIX ?= /usr/local
BIN_PATH = $(PREFIX)/bin
@@ -132,4 +132,5 @@
cat docs/historical_notes.txt >~/www/afl/historical_notes.txt
cat docs/technical_details.txt >~/www/afl/technical_details.txt
cat docs/ChangeLog >~/www/afl/ChangeLog.txt
+ cat docs/QuickStartGuide.txt >~/www/afl/QuickStartGuide.txt
echo -n "$(VERSION)" >~/www/afl/version.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/QuickStartGuide.txt new/afl-1.92b/QuickStartGuide.txt
--- old/afl-1.86b/QuickStartGuide.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/afl-1.92b/QuickStartGuide.txt 2015-09-08 18:06:45.000000000 +0200
@@ -0,0 +1 @@
+symbolic link to docs/QuickStartGuide.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/afl-cmin new/afl-1.92b/afl-cmin
--- old/afl-1.86b/afl-cmin 2015-08-01 04:43:30.000000000 +0200
+++ new/afl-1.92b/afl-cmin 2015-08-09 07:58:08.000000000 +0200
@@ -18,11 +18,11 @@
# the starting corpus. This has two uses:
#
# - Screening large corpora of input files before using them as a seed for
-# seed for afl-fuzz. The tool effectively reject functionally redundant
-# files and likely leave you with a much smaller set.
+# seed for afl-fuzz. The tool will remove functionally redundant files and
+# likely leave you with a much smaller set.
#
# (In this case, you probably also want to consider running afl-tmin on
-# the individual files to reduce their size.)
+# the individual files later on to reduce their size.)
#
# - Minimizing the corpus generated organically by afl-fuzz, perhaps when
# planning to feed it to more resource-intensive tools. The tool achieves
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/afl-fuzz.c new/afl-1.92b/afl-fuzz.c
--- old/afl-1.86b/afl-fuzz.c 2015-08-09 06:34:48.000000000 +0200
+++ new/afl-1.92b/afl-fuzz.c 2015-09-03 07:12:32.000000000 +0200
@@ -2072,9 +2072,9 @@
" - Less likely, there is a horrible bug in the fuzzer. If other options\n"
" fail, poke <lcamtuf(a)coredump.cx> for troubleshooting tips.\n",
- getenv("AFL_DEFER_FORKSRV") ? "three" : "two",
- getenv("AFL_DEFER_FORKSRV") ?
- " - You are using AFL_DEFER_FORKSRV, but __afl_manual_init() is never\n"
+ getenv(DEFER_ENV_VAR) ? "three" : "two",
+ getenv(DEFER_ENV_VAR) ?
+ " - You are using deferred forkserver, but __AFL_INIT() is never\n"
" reached before the program terminates.\n\n" : "",
DMS(mem_limit << 20), mem_limit - 1);
@@ -3697,6 +3697,11 @@
}
+ /* Honor AFL_EXIT_WHEN_DONE. */
+
+ if (!dumb_mode && cycles_wo_finds > 20 && !pending_not_fuzzed &&
+ getenv("AFL_EXIT_WHEN_DONE")) stop_soon = 1;
+
/* If we're not on TTY, bail out. */
if (not_on_tty) return;
@@ -3769,13 +3774,7 @@
if (cycles_wo_finds < 3) strcpy(tmp, cYEL); else
/* No finds for a long time and no test cases to try. */
-
- if (cycles_wo_finds > 20 && !pending_not_fuzzed) {
-
- strcpy(tmp, cLGN);
- if (getenv("AFL_EXIT_WHEN_DONE")) stop_soon = 1;
-
- }
+ if (cycles_wo_finds > 20 && !pending_not_fuzzed) strcpy(tmp, cLGN);
/* Default: cautiously OK to stop? */
else strcpy(tmp, cLBL);
@@ -6606,6 +6605,23 @@
if (memmem(f_data, f_len, "libasan.so", 10) ||
memmem(f_data, f_len, "__msan_init", 11)) uses_asan = 1;
+ /* Detect persistent & deferred init signatures in the binary. */
+
+ if (memmem(f_data, f_len, PERSIST_SIG, strlen(PERSIST_SIG) + 1)) {
+
+ OKF(cPIN "Persistent mode binary detected.");
+ setenv(PERSIST_ENV_VAR, "1", 1);
+ no_var_check = 1;
+
+ }
+
+ if (memmem(f_data, f_len, DEFER_SIG, strlen(DEFER_SIG) + 1)) {
+
+ OKF(cPIN "Deferred forkserver binary detected.");
+ setenv(DEFER_ENV_VAR, "1", 1);
+
+ }
+
if (munmap(f_data, f_len)) PFATAL("unmap() failed");
}
@@ -6878,7 +6894,8 @@
" launchctl unload -w ${SL}/LaunchAgents/${PL}.plist\n"
" sudo launchctl unload -w ${SL}/LaunchDaemons/${PL}.Root.plist\n");
- FATAL("Crash reporter detected");
+ if (!getenv("AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES"))
+ FATAL("Crash reporter detected");
#else
@@ -6905,7 +6922,8 @@
" echo core >/proc/sys/kernel/core_pattern\n");
- FATAL("Pipe at the beginning of 'core_pattern'");
+ if (!getenv("AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES"))
+ FATAL("Pipe at the beginning of 'core_pattern'");
}
@@ -7492,11 +7510,9 @@
}
- if (getenv("AFL_NO_FORKSRV")) no_forkserver = 1;
- if (getenv("AFL_NO_CPU_RED")) no_cpu_meter_red = 1;
-
- if (getenv("AFL_NO_VAR_CHECK") || getenv("AFL_PERSISTENT"))
- no_var_check = 1;
+ if (getenv("AFL_NO_FORKSRV")) no_forkserver = 1;
+ if (getenv("AFL_NO_CPU_RED")) no_cpu_meter_red = 1;
+ if (getenv("AFL_NO_VAR_CHECK")) no_var_check = 1;
if (dumb_mode == 2 && no_forkserver)
FATAL("AFL_DUMB_FORKSRV and AFL_NO_FORKSRV are mutually exclusive");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/afl-showmap.c new/afl-1.92b/afl-showmap.c
--- old/afl-1.86b/afl-showmap.c 2015-07-04 21:37:43.000000000 +0200
+++ new/afl-1.92b/afl-showmap.c 2015-09-01 00:58:00.000000000 +0200
@@ -337,8 +337,6 @@
setenv("MSAN_OPTIONS", "exit_code=" STRINGIFY(MSAN_ERROR) ":"
"msan_track_origins=0", 0);
- unsetenv("AFL_PERSISTENT");
-
}
@@ -444,7 +442,8 @@
" -q - sink program's output and don't show messages\n"
" -e - show edge coverage only, ignore hit counts\n\n"
- "For additional tips, please consult %s/README.\n\n",
+ "This tool displays raw tuple data captured by AFL instrumentation.\n"
+ "For additional help, consult %s/README.\n\n",
argv0, MEM_LIMIT, doc_path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/afl-tmin.c new/afl-1.92b/afl-tmin.c
--- old/afl-1.86b/afl-tmin.c 2015-07-04 21:38:54.000000000 +0200
+++ new/afl-1.92b/afl-tmin.c 2015-09-01 00:58:05.000000000 +0200
@@ -684,8 +684,6 @@
setenv("MSAN_OPTIONS", "exit_code=" STRINGIFY(MSAN_ERROR) ":"
"msan_track_origins=0", 0);
- unsetenv("AFL_PERSISTENT");
-
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/config.h new/afl-1.92b/config.h
--- old/afl-1.86b/config.h 2015-05-06 01:47:32.000000000 +0200
+++ new/afl-1.92b/config.h 2015-09-01 00:59:35.000000000 +0200
@@ -263,6 +263,13 @@
#define CLANG_ENV_VAR "__AFL_CLANG_MODE"
#define AS_LOOP_ENV_VAR "__AFL_AS_LOOPCHECK"
+#define PERSIST_ENV_VAR "__AFL_PERSISTENT"
+#define DEFER_ENV_VAR "__AFL_DEFER_FORKSRV"
+
+/* In-code signatures for deferred and persistent mode. */
+
+#define PERSIST_SIG "##SIG_AFL_PERSISTENT##"
+#define DEFER_SIG "##SIG_AFL_DEFER_FORKSRV##"
/* Distinctive bitmap signature used to indicate failed execution: */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/ChangeLog new/afl-1.92b/docs/ChangeLog
--- old/afl-1.86b/docs/ChangeLog 2015-08-09 06:24:23.000000000 +0200
+++ new/afl-1.92b/docs/ChangeLog 2015-09-03 19:55:03.000000000 +0200
@@ -13,10 +13,62 @@
sending a mail to <afl-users+subscribe(a)googlegroups.com>.
Not sure if you should upgrade? The lowest currently recommended version
-is 1.76b. If you're stuck on an earlier release, it's strongly advisable
+is 1.92b. If you're stuck on an earlier release, it's strongly advisable
to get on with the times.
--------------
+Version 1.91b:
+--------------
+
+ - Yet another C++ fix (namespaces). Reported by Daniel Lockyer.
+
+--------------
+Version 1.91b:
+--------------
+
+ - Another fix to make 1.90b actually work properly with C++ (d'oh).
+ Problem spotted by Daniel Lockyer.
+
+--------------
+Version 1.90b:
+--------------
+
+ - Fixed a minor typo spotted by Kai Zhao; and made several other minor updates
+ to docs.
+
+ - Updated the project URL for python-afl. Requested by Jakub Wilk.
+
+ - Fixed a potential problem with deferred mode signatures getting optimized
+ out by the linker (with --gc-sections).
+
+--------------
+Version 1.89b:
+--------------
+
+ - Revamped the support for persistent and deferred forkserver modes.
+ Both now feature simpler syntax and do not require companion env
+ variables. Suggested by Jakub Wilk.
+
+ - Added a bit more info about afl-showmap. Suggested by Jacek Wielemborek.
+
+--------------
+Version 1.88b:
+--------------
+
+ - Made AFL_EXIT_WHEN_DONE work in non-tty mode. Issue spotted by
+ Jacek Wielemborek.
+
+--------------
+Version 1.87b:
+--------------
+
+ - Added QuickStartGuide.txt, a one-page quick start doc.
+
+ - Fixed several typos spotted by Dominique Pelle.
+
+ - Revamped several parts of README.
+
+--------------
Version 1.86b:
--------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/INSTALL new/afl-1.92b/docs/INSTALL
--- old/afl-1.86b/docs/INSTALL 2015-06-27 21:41:01.000000000 +0200
+++ new/afl-1.92b/docs/INSTALL 2015-08-26 06:09:23.000000000 +0200
@@ -13,8 +13,8 @@
$ make
-You can starting using the fuzzer without installation, but it is also possible
-to install it with:
+You can start using the fuzzer without installation, but it is also possible to
+install it with:
# make install
@@ -156,4 +156,7 @@
me know.
Although Android on x86 should theoretically work, the stock kernel has SHM
-support compiled out, so you will need to address this issue first.
+support compiled out, so you will need to address this issue first. It's
+possible that all you need is this:
+
+ https://github.com/pelya/android-shmem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/QuickStartGuide.txt new/afl-1.92b/docs/QuickStartGuide.txt
--- old/afl-1.86b/docs/QuickStartGuide.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/afl-1.92b/docs/QuickStartGuide.txt 2015-08-26 06:04:19.000000000 +0200
@@ -0,0 +1,48 @@
+=====================
+AFL quick start guide
+=====================
+
+You should read docs/README. It's pretty short. If you really can't, here's
+how to hit the ground running:
+
+1) Compile AFL with 'make'. If build fails, see docs/INSTALL for tips.
+
+2) Find or write a reasonably fast and simple program that takes data from
+ a file or stdin, processes it in a test-worthy way, then exits cleanly.
+ If testing a network service, modify it to run in the foreground and read
+ from stdin. When fuzzing a format that uses checksums, comment out the
+ checksum verification code, too.
+
+ The program must crash properly when a fault is encountered. Watch out for
+ custom SIGSEGV or SIGABRT handlers and background processes.
+
+3) Compile the program / library to be fuzzed using afl-gcc. A common way to
+ do this would be:
+
+ CC=/path/to/afl-gcc CXX=/path/to/afl-g++ ./configure --disable-shared
+ make clean all
+
+ If program build fails, ping <afl-users(a)googlegroups.com>.
+
+4) Get a small but valid input file that makes sense to the program. When
+ fuzzing verbose syntax (SQL, HTTP, etc), create a dictionary as described in
+ testcases/README.testcases, too.
+
+5) If the program reads from stdin, run 'afl-fuzz' like so:
+
+ ./afl-fuzz -i testcase_dir -o findings_dir -- \
+ /path/to/tested/program [...program's cmdline...]
+
+ If the program takes input from a file, you can put @@ in the program's
+ command line; AFL will put an auto-generated file name in there for you.
+
+6) Investigate anything shown in red in the fuzzer UI by promptly consulting
+ docs/status_screen.txt.
+
+That's it. Sit back, relax, and - time permitting - try to skim through the
+following files:
+
+ - docs/README - A general introduction to AFL,
+ - docs/perf_tips.txt - Simple tips on how to fuzz more quickly,
+ - docs/status_screen.txt - An explanation of the tidbits shown in the UI,
+ - docs/parallel_fuzzing.txt - Advice on running AFL on multiple cores.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/README new/afl-1.92b/docs/README
--- old/afl-1.86b/docs/README 2015-08-09 06:09:32.000000000 +0200
+++ new/afl-1.92b/docs/README 2015-09-01 09:44:13.000000000 +0200
@@ -13,6 +13,8 @@
To compare notes with other users or get notified about major new features,
send a mail to <afl-users+subscribe(a)googlegroups.com>.
+ ** See QuickStartGuide.txt if you don't have time to read this file. **
+
1) Challenges of guided fuzzing
-------------------------------
@@ -21,34 +23,32 @@
majority of remote code execution and privilege escalation bugs found to date
in security-critical software.
-Unfortunately, fuzzing also offers fairly shallow coverage, because many of the
-mutations needed to reach new code paths are exceedingly unlikely to be hit
-purely by chance.
-
-There have been numerous attempts to solve this problem by augmenting the
-process with additional information about the behavior of the tested code,
-ranging from simple corpus distillation, to flow analysis (aka "concolic"
-execution), to pure symbolic execution, to static analysis.
-
-The first method on that list has been demonstrated to work well, but depends
-on the availability of a massive, high-quality corpus of valid input data. On
-top of this, coverage measurements provide only a fairly simplistic view of
-program state, making them less suited for guiding the fuzzing process later on.
-
-The remaining techniques are extremely promising in experimental settings, but
-frequently suffer from reliability problems or irreducible complexity. Most of
-the high-value targets have enough internal states and possible execution paths
-to make such tools fall apart and perform strictly worse than their traditional
-counterparts, at least until fine-tuned with utmost care.
+Unfortunately, fuzzing is also relatively shallow; blind, random mutations
+make it very unlikely to reach certain code paths in the tested code, leaving
+some vulnerabilities firmly outside the reach of this technique.
+
+There have been numerous attempts to solve this problem. One of the early
+approaches - pioneered by Tavis Ormandy - is corpus distillation. The method
+relies on coverage signals to select a subset of interesting seeds from a
+massive, high-quality corpus of candidate files, and then fuzz them by
+traditional means. The approach works exceptionally well, but requires such
+a corpus to be readily available. In addition, block coverage measurements
+provide only a very simplistic understanding of program state, and are less
+useful for guiding the fuzzing effort in the long haul.
+
+Other, more sophisticated research has focused on techniques such as program
+flow analysis ("concolic execution"), symbolic execution, or static analysis.
+All these methods are extremely promising in experimental settings, but tend
+to suffer from reliability and performance problems in practical uses - and
+currently do not offer a viable alternative to "dumb" fuzzing techniques.
2) The afl-fuzz approach
------------------------
American Fuzzy Lop is a brute-force fuzzer coupled with an exceedingly simple
-but rock-solid instrumentation-guided genetic algorithm. It uses an enhanced
-form of edge coverage to easily detect subtle, local-scale changes to program
-control flow, without being bogged down by complex comparisons between multiple
-long-winded execution paths.
+but rock-solid instrumentation-guided genetic algorithm. It uses a modified
+form of edge coverage to effortlessly pick up subtle, local-scale changes to
+program control flow.
Simplifying a bit, the overall algorithm can be summed up as:
@@ -69,22 +69,17 @@
6) Go to 2.
The discovered test cases are also periodically culled to eliminate ones that
-have been obsoleted by newer, higher-coverage finds, and undergo several other
+have been obsoleted by newer, higher-coverage finds; and undergo several other
instrumentation-driven effort minimization steps.
-The strategies mentioned in step 4 are fairly straightforward, but go well
-beyond the functionality of tools such as zzuf and honggfuzz and lead to
-additional finds; this is discussed in more detail in technical_notes.txt.
-
As a side result of the fuzzing process, the tool creates a small,
self-contained corpus of interesting test cases. These are extremely useful
for seeding other, labor- or resource-intensive testing regimes - for example,
for stress-testing browsers, office applications, graphics suites, or
closed-source tools.
-The fuzzer is thoroughly tested to deliver coverage far superior to blind
-fuzzing or coverage-only tools without the need to dial in any settings or
-adjust any knobs.
+The fuzzer is thoroughly tested to deliver out-of-the-box performance far
+superior to blind fuzzing or coverage-only tools.
3) Instrumenting programs for use with AFL
------------------------------------------
@@ -103,33 +98,34 @@
$ CC=/path/to/afl/afl-gcc ./configure
$ make clean all
-For C++ programs, you will want:
-
-$ CXX=/path/to/afl/afl-g++ ./configure
+For C++ programs, you'd would also want to set CXX=/path/to/afl/afl-g++.
-The clang wrappers (afl-clang and afl-clang++) are used in the same way; clang
-users can also leverage a higher-performance instrumentation mode described in
-llvm_mode/README.llvm.
-
-When testing libraries, it is essential to either link the tested executable
-against a static version of the instrumented library, or to set the right
-LD_LIBRARY_PATH. Usually, the simplest option is just:
+The clang wrappers (afl-clang and afl-clang++) can be used in the same way;
+clang users may also opt to leverage a higher-performance instrumentation mode,
+as described in llvm_mode/README.llvm.
+
+When testing libraries, you need to find or write a simple program that reads
+data from stdin or from a file and passes it to the tested library. In such a
+case, it is essential to link this executable against a static version of the
+instrumented library, or to make sure that the correct .so file is loaded at
+runtime (usually by setting LD_LIBRARY_PATH). The simplest option is a static
+build, usually possible via:
$ CC=/path/to/afl/afl-gcc ./configure --disable-shared
Setting AFL_HARDEN=1 when calling 'make' will cause the CC wrapper to
automatically enable code hardening options that make it easier to detect
-simple memory bugs. The cost of this is a <5% performance drop.
+simple memory bugs.
-Oh: when using ASAN, see the notes_for_asan.txt file for important caveats.
+PS. ASAN users are advised to review notes_for_asan.txt file for important
+caveats.
4) Instrumenting binary-only apps
---------------------------------
-When fuzzing closed-source programs that can't be easily recompiled with
-afl-gcc, the fuzzer offers experimental support for fast, on-the-fly
-instrumentation of black-box binaries. This is accomplished with a
-version of QEMU running in the lesser-known "user space emulation" mode.
+When source code is *NOT* available, the fuzzer offers experimental support for
+fast, on-the-fly instrumentation of black-box binaries. This is accomplished
+with a version of QEMU running in the lesser-known "user space emulation" mode.
QEMU is a project separate from AFL, but you can conveniently build the
feature by doing:
@@ -139,102 +135,101 @@
For additional instructions and caveats, see qemu_mode/README.qemu.
-The mode isn't free; compared to compile-time instrumentation, the fuzzing
-process will be approximately 2-5x slower; it is also less conductive to
-parallelization on multiple cores.
+The mode is approximately 2-5x slower than compile-time instrumentation, is
+less conductive to parallelization, and may have some other quirks.
5) Choosing initial test cases
------------------------------
-To operate correctly, the fuzzer requires one or more starting file containing
-the typical input normally expected by the targeted application. There are
-two basic rules:
+To operate correctly, the fuzzer requires one or more starting file that
+contains a good example of the input data normally expected by the targeted
+application. There are two basic rules:
- Keep the files small. Under 1 kB is ideal, although not strictly necessary.
- For a discussion of why size *really* matters, see perf_tips.txt.
+ For a discussion of why size matters, see perf_tips.txt.
- - Use multiple test cases only if they are fundamentally different from
- each other. There is no point in using fifty different vacation photos to
- fuzz an image library.
-
-You can find quite a few good examples of starting files in the testcases/
-subdirectory that comes with this tool.
-
-If a large corpus of data is available for screening, you may want to use the
-afl-cmin utility to reject redundant files - ideally, with an aggressive
-timeout (-t); afl-showmap can be used to manually examine and compare execution
-traces, too.
+ - Use multiple test cases only if they are functionally different from
+ each other. There is no point in using fifty different vacation photos
+ to fuzz an image library.
+
+You can find many good examples of starting files in the testcases/ subdirectory
+that comes with this tool.
+
+PS. If a large corpus of data is available for screening, you may want to use
+the afl-cmin utility to identify a subset of functionally distinct files that
+exercise different code paths in the target binary.
6) Fuzzing binaries
-------------------
-The fuzzing process itself is carried out by the afl-fuzz utility. The program
+The fuzzing process itself is carried out by the afl-fuzz utility. This program
requires a read-only directory with initial test cases, a separate place to
store its findings, plus a path to the binary to test.
-For programs that accept input directly from stdin, the usual syntax may be:
+For target binaries that accept input directly from stdin, the usual syntax is:
$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program [...params...]
-For programs that take input from a file, use '@@' to mark the location where
-the input file name should go. The fuzzer will substitute this for you:
+For programs that take input from a file, use '@@' to mark the location in
+the target's command line where the input file name should be placed. The
+fuzzer will substitute this for you:
-$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program -r @@
+$ ./afl-fuzz -i testcase_dir -o findings_dir /path/to/program @@
You can also use the -f option to have the mutated data written to a specific
file. This is useful if the program expects a particular file extension or so.
-Non-instrumented binaries can be fuzzed in the QEMU mode by adding -Q in the
-command line. It is also possible to use the -n flag to run afl-fuzz in plain
-old non-guided mode. This gives you a fairly traditional fuzzer with a couple
-of nice testing strategies.
+Non-instrumented binaries can be fuzzed in the QEMU mode (add -Q in the command
+line) or in a traditional, blind-fuzzer mode (specify -n).
You can use -t and -m to override the default timeout and memory limit for the
-executed process; this is seldom necessary, perhaps except for video decoders
-or compilers.
+executed process; rare examples of targets that may need these settings touched
+include compilers and video decoders.
+
+Tips for optimizing fuzzing performance are discussed in perf_tips.txt.
-Tips for optimizing the performance of the process are discussed in
-perf_tips.txt. Note that the fuzzer starts by meticulously performing an array
-of deterministic fuzzing steps, which can take several days. If you want more
-traditional behavior akin to zzuf or honggfuzz, use the -d option to get quick
-but less systematic and less in-depth results right away.
+Note that afl-fuzz starts by performing an array of deterministic fuzzing
+steps, which can take several days. If you want quick & dirty results right
+away, akin to zzuf or honggfuzz, add the -d option to the command line.
7) Interpreting output
----------------------
-The fuzzing process will continue until you press Ctrl-C. See the
-status_screen.txt file for information on how to interpret the displayed stats
-and monitor the health of the process. At the *very* minimum, you want to allow
-the fuzzer to complete one queue cycle, which may take anywhere from a couple
-of hours to a week or so.
+See the status_screen.txt file for information on how to interpret the
+displayed stats and monitor the health of the process. Be sure to consult this
+file especially if any UI elements are highlighted in red.
+
+The fuzzing process will continue until you press Ctrl-C. At minimum, you want
+to allow the fuzzer to complete one queue cycle, which may take anywhere from a
+couple of hours to a week or so.
There are three subdirectories created within the output directory and updated
in real time:
- queue/ - test cases for every distinctive execution path, plus all the
- starting files given by the user. This is, in effect, the
- synthesized corpus mentioned in section 2.
+ starting files given by the user. This is the synthesized corpus
+ mentioned in section 2.
- If desired, you can use afl-cmin to shrink the corpus to a much
- smaller size. This works by throwing away earlier inputs that
- used to trigger unique behaviors in the past, but have been made
- obsolete by better finds made by afl-fuzz later on.
-
- - hangs/ - unique test cases that cause the tested program to time out. Note
- that the default timeouts are fairly aggressive (set at 5x the
- average execution time) to keep things moving fast.
+ Before using this corpus for any other purposes, you can shrink
+ it to a smaller size using the afl-cmin tool. The tool will find
+ a smaller subset of files offering equivalent edge coverage.
- crashes/ - unique test cases that cause the tested program to receive a
fatal signal (e.g., SIGSEGV, SIGILL, SIGABRT). The entries are
grouped by the received signal.
+ - hangs/ - unique test cases that cause the tested program to time out. Note
+ that when default (aggressive) timeout settings are in effect,
+ this can be slightly noisy due to latency spikes and other
+ natural phenomena.
+
Crashes and hangs are considered "unique" if the associated execution paths
involve any state transitions not seen in previously-recorded faults. If a
single bug can be reached in multiple ways, there will be some count inflation
early in the process, but this should quickly taper off.
-The file names for crashes and hangs should let you correlate them with the
-parent, non-faulting queue entries. This should help with debugging.
+The file names for crashes and hangs are correlated with parent, non-faulting
+queue entries. This should help with debugging.
When you can't reproduce a crash found by afl-fuzz, the most likely cause is
that you are not setting the same memory limit as used by the tool. Try:
@@ -250,7 +245,7 @@
$ ./afl-fuzz -i- -o existing_output_dir [...etc...]
If you have gnuplot installed, you can also generate some pretty graphs for any
-active fuzzing task using 'afl-plot'. For an example of how this looks like,
+active fuzzing task using afl-plot. For an example of how this looks like,
see http://lcamtuf.coredump.cx/afl/plot/.
8) Parallelized fuzzing
@@ -427,7 +422,8 @@
Keegan McAllister Kostya Serebryany
Richo Healey Martijn Bogaard
rc0r Jonathan Foote
- Christian Holler
+ Christian Holler Dominique Pelle
+ Jacek Wielemborek
Thank you!
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/env_variables.txt new/afl-1.92b/docs/env_variables.txt
--- old/afl-1.86b/docs/env_variables.txt 2015-08-09 06:26:17.000000000 +0200
+++ new/afl-1.92b/docs/env_variables.txt 2015-09-01 01:36:18.000000000 +0200
@@ -28,7 +28,9 @@
- see notes_for_asan.txt.
(You can also enable MSAN via AFL_USE_MSAN; ASAN and MSAN come with the
- same gotchas; the modes are mutually exclusive.)
+ same gotchas; the modes are mutually exclusive. UBSAN and other exotic
+ sanitizers are not officially supported yet, but are easy to get to work
+ by hand.)
- Setting AFL_CC, AFL_CXX, and AFL_AS lets you use alternate downstream
compilation tools, rather than the default 'clang', 'gcc', or 'as' binaries
@@ -120,14 +122,8 @@
- When running in the -M or -S mode, setting AFL_IMPORT_FIRST causes the
fuzzer to import test cases from other instances before doing anything
- else. This is in contrast with the default mode, where the instances are
- allowed to run on their own for a while before syncing, so that they
- acquire some initial variability in their respective input sets.
-
- The benefit of AFL_IMPORT_FIRST is that it makes the "own finds" counter
- in the UI more accurately reflect the number of findings made by the
- instance (that the remaining instances did not already have). Beyond
- counter aesthetics, not much else should change.
+ else. This makes the "own finds" counter in the UI more accurate
+ Beyond counter aesthetics, not much else should change.
- Setting AFL_POST_LIBRARY allows you to configure a postprocessor for
mutated files - say, to fix up checksums. See experimental/post_library/
@@ -137,18 +133,11 @@
may complain of high load prematurely, especially on systems with low core
counts. To avoid the alarming red color, you can set AFL_NO_CPU_RED.
- - In LLVM mode, AFL_DEFER_FORKSRV can be set to require the forkserver to
- be initialized manually (see llvm_mode/README.llvm). This setting has no
- effect for programs not compiled with afl-clang-fast.
-
- (Technically speaking, the setting is passed down to the binary itself,
- and not handled in any special way by afl-fuzz.)
-
- - In LLVM mode, AFL_PERSISTENT can be set to fuzz in persistent mode. See
- llvm_mode/README.llvm for additional information on what this means.
-
- In QEMU mode (-Q), AFL_PATH will be searched for afl-qemu-trace.
+ - If you are Jakub, you may need AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES.
+ Others need not apply.
+
4) Settings for afl-qemu-trace
------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/historical_notes.txt new/afl-1.92b/docs/historical_notes.txt
--- old/afl-1.86b/docs/historical_notes.txt 2015-04-20 05:37:07.000000000 +0200
+++ new/afl-1.92b/docs/historical_notes.txt 2015-08-26 06:18:00.000000000 +0200
@@ -37,7 +37,7 @@
https://code.google.com/p/bunny-the-fuzzer/wiki/BunnyDoc
There has been a fair amount of independent work, too. Most notably, a few
-weeks earlier that year, Jared DeMott had a Defcon presentation about a
+weeks earlier that year, Jared DeMott had a Defcon presentation about a
coverage-driven fuzzer that relied on coverage as a fitness function.
Jared's approach was by no means identical to what afl-fuzz does, but it was in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/notes_for_asan.txt new/afl-1.92b/docs/notes_for_asan.txt
--- old/afl-1.86b/docs/notes_for_asan.txt 2015-08-07 17:16:17.000000000 +0200
+++ new/afl-1.92b/docs/notes_for_asan.txt 2015-08-26 06:20:38.000000000 +0200
@@ -8,7 +8,7 @@
1) Short version
----------------
-ASAN on 64-bit systems uses a lot of memory in a way that can't be easily
+ASAN on 64-bit systems requests a lot of memory in a way that can't be easily
distinguished from a misbehaving program bent on crashing your system.
Because of this, fuzzing with ASAN is recommended only in four scenarios:
@@ -18,7 +18,7 @@
- On 64-bit systems only if you can do one of the following:
- - Compile the binary in 32-bit mode (gcc -m32 or so),
+ - Compile the binary in 32-bit mode (gcc -m32),
- Precisely gauge memory needs using http://jwilk.net/software/recidivm .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/perf_tips.txt new/afl-1.92b/docs/perf_tips.txt
--- old/afl-1.86b/docs/perf_tips.txt 2015-06-11 08:47:54.000000000 +0200
+++ new/afl-1.92b/docs/perf_tips.txt 2015-09-01 09:55:22.000000000 +0200
@@ -14,10 +14,10 @@
ways.
To illustrate, let's say that you're randomly flipping bits in a file, one bit
-at a time. If you flip bit #47, you will hit a security bug; flipping any
-other bit just results in an invalid document.
+at a time. Let's assume that if you flip bit #47, you will hit a security bug;
+flipping any other bit just results in an invalid document.
-If your starting test case is 100 bytes long, you will have a 71% chance of
+Now, if your starting test case is 100 bytes long, you will have a 71% chance of
triggering the bug within the first 1,000 execs - not bad! But if the test case
is 1 kB long, the probability that we will randomly hit the right pattern in
the same timeframe goes down to 11%. And if it has 10 kB of non-essential
@@ -59,10 +59,13 @@
The LLVM mode also offers a "persistent", in-process fuzzing mode that can
work well for certain types of self-contained libraries, and for fast targets,
-can offer performance gains up to 5-10x.
+can offer performance gains up to 5-10x; and a "deferred fork server" mode
+that can offer huge benefits for programs with high startup overhead. Both
+modes require you to edit the source code of the fuzzed program, but the
+changes often amount to just strategically placing a single line or two.
-4) Have a closer look at the binary
------------------------------------
+4) Profile and optimize the binary
+----------------------------------
Check for any parameters or settings that obviously improve performance. For
example, the djpeg utility that comes with IJG jpeg and libjpeg-turbo can be
@@ -81,19 +84,21 @@
first error) may result in smaller files and improved run time without
sacrificing coverage; for example, for sqlite, you may want to specify -bail.
-If you are still stumped, you can use strace -tt or an equivalent profiling
-tool to see if the targeted binary is doing anything unnecessarily slow.
+If the program is still too slow, you can use strace -tt or an equivalent
+profiling tool to see if the targeted binary is doing anything silly.
Sometimes, you can speed things up simply by specifying /dev/null as the
config file, or disabling some compile-time features that aren't really needed
for the job (try ./configure --help). One of the notoriously resource-consuming
things would be calling other utilities via exec*(), popen(), system(), or
-equivalent calls; for example, tar can invoke external decompression tools.
+equivalent calls; for example, tar can invoke external decompression tools
+when it decides that the input file is a compressed archive.
+
Some programs may also intentionally call sleep(), usleep(), or nanosleep();
vim is a good example of that.
In programs that are slow due to unavoidable initialization overhead, you may
want to try the LLVM deferred forkserver mode (see llvm_mode/README.llvm),
-which can give you speed gains up to 10x, but needs to be used with care.
+which can give you speed gains up to 10x, as mentioned above.
Last but not least, if you are using ASAN and the performance is unacceptable,
consider turning it off for now, and manually examining the generated corpus
@@ -103,8 +108,10 @@
--------------------------------
Instrument just the libraries you actually want to stress-test right now, one
-at a time. Trying to simultaneously instrument glibc, zlib, gmp, OpenSSL,
-and libxml2 to test a single program is an overkill.
+at a time. Let the program use system-wide, non-instrumented libraries for
+any functionality you don't actually want to fuzz. For example, in most
+cases, it doesn't make to instrument libgmp just because you're testing a
+crypto app that relies on it for bignum math.
Beware of programs that come with oddball third-party libraries bundled with
their source code (Spidermonkey is a good example of this). Check ./configure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/sister_projects.txt new/afl-1.92b/docs/sister_projects.txt
--- old/afl-1.86b/docs/sister_projects.txt 2015-08-06 19:35:02.000000000 +0200
+++ new/afl-1.92b/docs/sister_projects.txt 2015-09-02 07:05:13.000000000 +0200
@@ -16,7 +16,7 @@
Allows fuzz-testing of Python programs. Uses custom instrumentation and its
own forkserver.
- https://bitbucket.org/jwilk/python-afl
+ http://jwilk.net/software/python-afl
Go-fuzz (Dmitry Vyukov)
-----------------------
@@ -211,7 +211,6 @@
https://www.fastly.com/blog/how-to-fuzz-server-american-fuzzy-lop
https://goo.gl/j9EgFf
-
Fuzzer shell for SQLite (Richard Hipp)
--------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/docs/status_screen.txt new/afl-1.92b/docs/status_screen.txt
--- old/afl-1.86b/docs/status_screen.txt 2015-06-16 04:17:59.000000000 +0200
+++ new/afl-1.92b/docs/status_screen.txt 2015-08-26 02:34:18.000000000 +0200
@@ -190,7 +190,7 @@
"interesting" 8-, 16-, and 32-bit values to try. The stepover is 8 bits.
- extras - deterministic injection of dictionary terms. This can be shown as
- "user" or "auto", depending on whether the fuzzer is using an user-supplied
+ "user" or "auto", depending on whether the fuzzer is using a user-supplied
dictionary (-x) or an auto-created one. You will also see "over" or "insert",
depending on whether the dictionary words overwrite existing data or are
inserted by offsetting the remaining data to accommodate their length.
@@ -320,9 +320,9 @@
Less likely causes may include running out of disk space, SHM handles, or other
globally limited resources.
-The paths where variable behavior is detected are marked with with a matching
-entry in the <out_dir>/queue/.state/variable_behavior/ directory, so you can
-look them up easily.
+The paths where variable behavior is detected are marked with a matching entry
+in the <out_dir>/queue/.state/variable_behavior/ directory, so you can look
+them up easily.
If you can't suppress variable behavior and don't want to see these warnings,
simply set AFL_NO_VAR_CHECK=1 in the environment before running afl-fuzz. This
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/experimental/persistent_demo/persistent_demo.c new/afl-1.92b/experimental/persistent_demo/persistent_demo.c
--- old/afl-1.86b/experimental/persistent_demo/persistent_demo.c 2015-06-12 08:29:11.000000000 +0200
+++ new/afl-1.92b/experimental/persistent_demo/persistent_demo.c 2015-09-01 01:09:29.000000000 +0200
@@ -18,8 +18,7 @@
across runs.
To make this work, the library and this shim need to be compiled in LLVM
- mode using afl-clang-fast (other compiler wrappers will *not* work); and
- afl-fuzz must be called with AFL_PERSISTENT set.
+ mode using afl-clang-fast (other compiler wrappers will *not* work).
*/
@@ -29,14 +28,6 @@
#include <signal.h>
#include <string.h>
-/* This constant specifies the number of inputs to process before restarting.
- This is optional, but helps limit the impact of memory leaks and similar
- hiccups. */
-
-#define PERSIST_MAX 1000
-
-unsigned int persist_cnt;
-
/* Main entry point. */
@@ -45,57 +36,52 @@
char buf[100]; /* Example-only buffer, you'd replace it with other global or
local variables appropriate for your use case. */
-try_again:
-
- /*** PLACEHOLDER CODE ***/
-
- /* STEP 1: Fully re-initialize all critical variables. In our example, this
- involves zeroing buf[], our input buffer. */
-
- memset(buf, 0, 100);
-
- /* STEP 2: Read input data. When reading from stdin, no special preparation
- is required. When reading from a named file, you need to close the
- old descriptor and reopen the file first!
-
- Beware of reading from buffered FILE* objects such as stdin. Use
- raw file descriptors or call fopen() / fdopen() in every pass. */
-
- read(0, buf, 100);
-
- /* STEP 3: This is where we'd call the tested library on the read data. Here,
- we just have some trivial inline code that faults on 'foo!'. */
-
- if (buf[0] == 'f') {
- printf("one\n");
- if (buf[1] == 'o') {
- printf("two\n");
- if (buf[2] == 'o') {
- printf("three\n");
- if (buf[3] == '!') {
- printf("four\n");
- abort();
+ /* The number passed to __AFL_LOOP() controls the maximum number of
+ iterations before the loop exits and the program is allowed to
+ terminate normally. This limits the impact of accidental memory leaks
+ and similar hiccups. */
+
+ while (__AFL_LOOP(1000)) {
+
+ /*** PLACEHOLDER CODE ***/
+
+ /* STEP 1: Fully re-initialize all critical variables. In our example, this
+ involves zeroing buf[], our input buffer. */
+
+ memset(buf, 0, 100);
+
+ /* STEP 2: Read input data. When reading from stdin, no special preparation
+ is required. When reading from a named file, you need to close
+ the old descriptor and reopen the file first!
+
+ Beware of reading from buffered FILE* objects such as stdin. Use
+ raw file descriptors or call fopen() / fdopen() in every pass. */
+
+ read(0, buf, 100);
+
+ /* STEP 3: This is where we'd call the tested library on the read data.
+ We just have some trivial inline code that faults on 'foo!'. */
+
+ if (buf[0] == 'f') {
+ printf("one\n");
+ if (buf[1] == 'o') {
+ printf("two\n");
+ if (buf[2] == 'o') {
+ printf("three\n");
+ if (buf[3] == '!') {
+ printf("four\n");
+ abort();
+ }
}
}
}
- }
-
- /*** END PLACEHOLDER CODE ***/
-
- /* STEP 4: To signal successful completion of a run, we need to deliver
- SIGSTOP to our own process, then loop to the very beginning
- once we're resumed by the supervisor process. We do this only
- if AFL_PERSISTENT is set to retain normal behavior when the
- program is executed directly; and take note of PERSIST_MAX. */
-
- if (getenv("AFL_PERSISTENT") && persist_cnt++ < PERSIST_MAX) {
- raise(SIGSTOP);
- goto try_again;
+ /*** END PLACEHOLDER CODE ***/
}
- /* If AFL_PERSISTENT not set or PERSIST_MAX exceeded, exit normally. */
+ /* Once the loop is exited, terminate normally - AFL will restat the process
+ from scratch. */
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/llvm_mode/Makefile new/afl-1.92b/llvm_mode/Makefile
--- old/afl-1.86b/llvm_mode/Makefile 2015-06-11 09:25:52.000000000 +0200
+++ new/afl-1.92b/llvm_mode/Makefile 2015-09-01 00:59:44.000000000 +0200
@@ -80,7 +80,7 @@
test_build: $(PROGS)
@echo "[*] Testing the CC wrapper and instrumentation output..."
- unset AFL_USE_ASAN AFL_USE_MSAN AFL_DEFER_FORKSRV; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. AFL_CC=$(CC) ../afl-clang-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS)
+ unset AFL_USE_ASAN AFL_USE_MSAN; AFL_QUIET=1 AFL_INST_RATIO=100 AFL_PATH=. AFL_CC=$(CC) ../afl-clang-fast $(CFLAGS) ../test-instr.c -o test-instr $(LDFLAGS)
echo 0 | ../afl-showmap -m none -q -o .test-instr0 ./test-instr
echo 1 | ../afl-showmap -m none -q -o .test-instr1 ./test-instr
@rm -f test-instr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/llvm_mode/README.llvm new/afl-1.92b/llvm_mode/README.llvm
--- old/afl-1.86b/llvm_mode/README.llvm 2015-06-12 09:15:10.000000000 +0200
+++ new/afl-1.92b/llvm_mode/README.llvm 2015-09-03 16:52:18.000000000 +0200
@@ -61,10 +61,7 @@
CC=/path/to/afl/afl-clang-fast ./configure [...options...]
make
-...or:
-
- CXX=/path/to/afl/afl-clang-fast++ ./configure [...options...]
- make
+Be sure to also include CXX set to afl-clang-fast++ for C++ code.
The tool honors roughly the same environmental variables as afl-gcc (see
../docs/env_variables.txt). This includes AFL_INST_RATIO, AFL_USE_ASAN,
@@ -89,51 +86,43 @@
Although this approach eliminates much of the OS-, linker- and libc-level
costs of executing the program, it does not always help with binaries that
-perform other time-consuming initialization steps before getting to the input
-file.
-
-In such cases, it would be beneficial to initialize the forkserver a bit later,
-once most of the initialization work is already done, but before the binary
-attempts to read the fuzzed input and parse it. You can do this in LLVM mode in
-a fairly simple way:
+perform other time-consuming initialization steps - say, parsing a large config
+file before getting to the fuzzed data.
-1. First, locate a suitable location in the code for the deferred initialization
- to take place. This needs to be done with *extreme* care to avoid breaking
- the binary. In particular, the program will probably malfunction if the
- initialization happens after:
+In such cases, it's beneficial to initialize the forkserver a bit later, once
+most of the initialization work is already done, but before the binary attempts
+to read the fuzzed input and parse it; in some cases, this can offer a 10x+
+performance gain. You can implement delayed initialization in LLVM mode in a
+fairly simple way.
- - The creation of any vital threads or child processes - since the forkserver
- can't clone them easily.
+First, locate a suitable location in the code where the delayed cloning can
+take place. This needs to be done with *extreme* care to avoid breaking the
+binary. In particular, the program will probably malfunction if you select
+a location after:
- - The creation of temporary files, network sockets, offset-sensitive file
- descriptors, and similar shared-state resources - but only provided that
- their state meaningfully influences the behavior of the program later on.
+ - The creation of any vital threads or child processes - since the forkserver
+ can't clone them easily.
- - Any access to the fuzzed input, including reading the metadata about its
- size.
+ - The initialization of timers via setitimer() or equivalent calls.
- Of course, things will also not work if the forkserver is never initialized
- at all and the program is allowed to exit before that; in this case, afl-fuzz
- will complain about failed handshake and bail out.
+ - The creation of temporary files, network sockets, offset-sensitive file
+ descriptors, and similar shared-state resources - but only provided that
+ their state meaningfully influences the behavior of the program later on.
-2. Next, insert the following global function declaration somewhere in the
- source file:
+ - Any access to the fuzzed input, including reading the metadata about its
+ size.
- void __afl_manual_init(void);
+With the location selected, add this code in the appropriate spot:
- ...and add a call to this function in the desired location before recompiling
- the project with afl-clang-fast (afl-gcc and afl-clang will *not* work). You
- can put this in between #ifdef __AFL_HAVE_MANUAL_INIT to allow the code to
- build correctly without afl-clang-fast.
+#ifdef __AFL_HAVE_MANUAL_CONTROL
+ __AFL_INIT();
+#endif
-3. Finally, be sure to set AFL_DEFER_FORKSRV=1 before invoking afl-fuzz.
+You don't need the #ifdef guards, but they will make the program still work as
+usual when compiled with a tool other than afl-clang-fast.
-Again, this feature is easy to misuse; be careful and double-test that the
-coverage and the number of discovered paths is comparable between normal and
-deferred runs. That said, when you do it well, you can see gains up to 10x or
-so:
-
- https://groups.google.com/forum/#!topic/afl-users/fNMJHl7Fhzs
+Finally, recompile the pogram with afl-clang-fast (afl-gcc or afl-clang will
+*not* generate a deferred-initialization binary) - and you should be all set!
5) Bonus feature #2: persistent mode
------------------------------------
@@ -141,27 +130,36 @@
Some libraries provide APIs that are stateless, or whose state can be reset in
between processing different input files. When such a reset is performed, a
single long-lived process can be reused to try out multiple test cases,
-eliminating the need for repeated fork() calls and the associated OS overhead:
+eliminating the need for repeated fork() calls and the associated OS overhead.
+
+The basic structure of the program that does this would be:
+
+ while (__AFL_LOOP(1000)) {
+
+ /* Read input data. */
+ /* Call library code to be fuzzed. */
+ /* Reset state. */
+
+ }
+
+ /* Exit normally */
- http://lcamtuf.blogspot.com/2015/06/new-in-afl-persistent-mode.html
+The numerical value specified within the loop controls the maximum number
+of iterations before AFL will restart the process from scratch. This minimizes
+the impact of memory leaks and similar glitches; 1000 is a good starting point.
-With certain fast targets, such an approach can offer dramatic (5x+)
-performance gains. The LLVM mode allows you to build such persistent targets
-using the template provided in ../experimental/persistent_demo/.
-
-To leverage this functionality, you need to set AFL_PERSISTENT before
-invoking afl-fuzz, and the target binary needs to incorporate a simple pattern
-documented in the aforementioned example file. It also needs to be compiled with
-afl-clang-fast; other compiler wrappers will not work.
+A more detailed template is shown in ../experimental/persistent_demo/.
+Similarly to the previous mode, the feature works only with afl-clang-fast;
+#ifdef guards can be used to suppress it when using other compilers.
Note that as with the previous mode, the feature is easy to misuse; if you
do not reset the critical state fully, you may end up with false positives or
waste a whole lot of CPU power doing nothing useful at all. Be particularly
-wary of memory leaks.
+wary of memory leaks and the state of file descriptors.
When running in this mode, the execution paths will inherently vary a bit
depending on whether the input loop is being entered for the first time or
-executed again. To avoid spurious warnings, AFL_PERSISTENT implies
+executed again. To avoid spurious warnings, the feature implies
AFL_NO_VAR_CHECK and hides the "variable path" warnings in the UI.
PS. Because there are task switches still involved, the mode isn't as fast as
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/llvm_mode/afl-clang-fast.c new/afl-1.92b/llvm_mode/afl-clang-fast.c
--- old/afl-1.86b/llvm_mode/afl-clang-fast.c 2015-05-03 00:20:31.000000000 +0200
+++ new/afl-1.92b/llvm_mode/afl-clang-fast.c 2015-09-03 19:53:58.000000000 +0200
@@ -99,7 +99,7 @@
u8 fortify_set = 0, asan_set = 0, x_set = 0, maybe_linking = 1;
u8 *name;
- cc_params = ck_alloc((argc + 32) * sizeof(u8*));
+ cc_params = ck_alloc((argc + 64) * sizeof(u8*));
name = strrchr(argv[0], '/');
if (!name) name = argv[0]; else name++;
@@ -176,7 +176,19 @@
}
- cc_params[cc_par_cnt++] = "-D__AFL_HAVE_MANUAL_INIT=1";
+ cc_params[cc_par_cnt++] = "-D__AFL_HAVE_MANUAL_CONTROL=1";
+
+ cc_params[cc_par_cnt++] = "-D__AFL_LOOP(_A)="
+ "({ static volatile char *_B __attribute__((used)); "
+ " _B = (char*)\"" PERSIST_SIG "\"; "
+ "int _L(unsigned int) __asm__(\"__afl_persistent_loop\"); "
+ "_L(_A); })";
+
+ cc_params[cc_par_cnt++] = "-D__AFL_INIT()="
+ "do { static volatile char *_A __attribute__((used)); "
+ " _A = (char*)\"" DEFER_SIG "\"; "
+ "void _I(void) __asm__(\"__afl_manual_init\"); "
+ "_I(); } while (0)";
if (maybe_linking) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/llvm_mode/afl-llvm-pass.so.cc new/afl-1.92b/llvm_mode/afl-llvm-pass.so.cc
--- old/afl-1.86b/llvm_mode/afl-llvm-pass.so.cc 2015-04-30 07:48:40.000000000 +0200
+++ new/afl-1.92b/llvm_mode/afl-llvm-pass.so.cc 2015-09-03 16:50:08.000000000 +0200
@@ -82,7 +82,7 @@
/* Decide instrumentation ratio */
char* inst_ratio_str = getenv("AFL_INST_RATIO");
- int inst_ratio = 100;
+ unsigned int inst_ratio = 100;
if (inst_ratio_str) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/afl-1.86b/llvm_mode/afl-llvm-rt.o.c new/afl-1.92b/llvm_mode/afl-llvm-rt.o.c
--- old/afl-1.86b/llvm_mode/afl-llvm-rt.o.c 2015-06-12 10:25:16.000000000 +0200
+++ new/afl-1.92b/llvm_mode/afl-llvm-rt.o.c 2015-09-03 08:04:27.000000000 +0200
@@ -42,6 +42,11 @@
u16 __afl_prev_loc;
+/* Running in persistent mode? */
+
+static u8 is_persistent;
+
+
/* SHM setup. */
static void __afl_map_shm(void) {
@@ -80,7 +85,6 @@
s32 child_pid;
u8 child_stopped = 0;
- u8 use_persistent = !!getenv("AFL_PERSISTENT");
/* Phone home and tell the parent that we're OK. If parent isn't there,
assume we're not running in forkserver mode and just execute program. */
@@ -136,7 +140,7 @@
if (write(FORKSRV_FD + 1, &child_pid, 4) != 4) exit(1);
- if (waitpid(child_pid, &status, use_persistent ? WUNTRACED : 0) < 0)
+ if (waitpid(child_pid, &status, is_persistent ? WUNTRACED : 0) < 0)
exit(1);
/* In persistent mode, the child stops itself with SIGSTOP to indicate
@@ -154,7 +158,33 @@
}
-/* This one can be called from user code when AFL_DEFER_FORKSRV is set. */
+/* A simplified persistent mode handler, used as explained in README.llvm. */
+
+int __afl_persistent_loop(unsigned int max_cnt) {
+
+ static u8 first_pass = 1;
+ static u32 cycle_cnt;
+
+ if (first_pass) {
+
+ cycle_cnt = max_cnt;
+ first_pass = 0;
+ return 1;
+
+ }
+
+ if (is_persistent && --cycle_cnt) {
+
+ raise(SIGSTOP);
+ return 1;
+
+ } else return 0;
+
+}
+
+
+/* This one can be called from user code when deferred forkserver mode
+ is enabled. */
void __afl_manual_init(void) {
@@ -175,7 +205,10 @@
__attribute__((constructor(0))) void __afl_auto_init(void) {
- if (getenv("AFL_DEFER_FORKSRV")) return;
+ is_persistent = !!getenv(PERSIST_ENV_VAR);
+
+ if (getenv(DEFER_ENV_VAR)) return;
+
__afl_manual_init();
}
1
0
Hello community,
here is the log from the commit of package yast2-vpn for openSUSE:Factory checked in at 2015-09-08 17:45:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-vpn (Old)
and /work/SRC/openSUSE:Factory/.yast2-vpn.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-vpn"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-vpn/yast2-vpn.changes 2015-08-01 11:38:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-vpn.new/yast2-vpn.changes 2015-09-08 18:06:41.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 12:45:26 UTC 2015 - hguo(a)suse.com
+
+- Display a warning if ipsec.conf or ipsec.secrets appear to have
+ been manually manipulated.
+
+-------------------------------------------------------------------
Old:
----
yast2-vpn-3.1.0.tar.bz2
New:
----
yast2-vpn-3.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-vpn.spec ++++++
--- /var/tmp/diff_new_pack.9I1TRi/_old 2015-09-08 18:06:42.000000000 +0200
+++ /var/tmp/diff_new_pack.9I1TRi/_new 2015-09-08 18:06:42.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-vpn
-Version: 3.1.0
+Version: 3.1.1
Release: 0
Url: https://github.com/yast/yast-vpn
Source0: %{name}-%{version}.tar.bz2
++++++ yast2-vpn-3.1.0.tar.bz2 -> yast2-vpn-3.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-vpn-3.1.0/package/yast2-vpn.changes new/yast2-vpn-3.1.1/package/yast2-vpn.changes
--- old/yast2-vpn-3.1.0/package/yast2-vpn.changes 2015-07-29 11:15:37.000000000 +0200
+++ new/yast2-vpn-3.1.1/package/yast2-vpn.changes 2015-09-07 14:46:01.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Sep 7 12:45:26 UTC 2015 - hguo(a)suse.com
+
+- Display a warning if ipsec.conf or ipsec.secrets appear to have
+ been manually manipulated.
+
+-------------------------------------------------------------------
Fri Jul 17 11:49:05 UTC 2015 - hguo(a)suse.com
- New package. Initial version, initial release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-vpn-3.1.0/package/yast2-vpn.spec new/yast2-vpn-3.1.1/package/yast2-vpn.spec
--- old/yast2-vpn-3.1.0/package/yast2-vpn.spec 2015-07-29 11:15:48.000000000 +0200
+++ new/yast2-vpn-3.1.1/package/yast2-vpn.spec 2015-09-07 14:45:14.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-vpn
-Version: 3.1.0
+Version: 3.1.1
Release: 0
License: GPL-2.0
URL: https://github.com/yast/yast-vpn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-vpn-3.1.0/src/lib/vpn/ipsec.rb new/yast2-vpn-3.1.1/src/lib/vpn/ipsec.rb
--- old/yast2-vpn-3.1.0/src/lib/vpn/ipsec.rb 2015-07-29 10:46:41.000000000 +0200
+++ new/yast2-vpn-3.1.1/src/lib/vpn/ipsec.rb 2015-09-07 14:42:44.000000000 +0200
@@ -223,15 +223,22 @@
# Load parameters from connections of known scenarios
conns = Yast::IPSecConf.GetIPSecConnections
conns ||= {}
+ has_unsupported_scenario = false
conns.each { | name, conf|
scenario = determine_scenario(conf)
if scenario == nil
+ has_unsupported_scenario = true
log.info "The connection is not supported: " + name
else
conn_conf = {"name" => name, "scenario" => scenario}
@all_conns[name] = conn_conf.merge(get_scenario_specific_params(scenario, conf))
end
}
+ if has_unsupported_scenario || !Yast::IPSecConf.GetUnsupportedConfiguration.empty? ||
+ !Yast::IPSecConf.GetUnsupportedSecrets.empty?
+ Yast::Popup.LongWarning(_("ipsec.conf and ipsec.secrets have been manipulated outside of this module.\n" +
+ "Continue using the module will remove your customisation."))
+ end
log.info "Loaded IPSec connections: #{@all_conns}"
# By default, look at the first connection
@curr_conn_name = @all_conns.keys.first unless @all_conns[@curr_conn_name]
@@ -555,4 +562,4 @@
end
end
IPSec = IPSecClass.new
-end
\ No newline at end of file
+end
1
0
Hello community,
here is the log from the commit of package elementary for openSUSE:Factory checked in at 2015-09-08 17:45:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/elementary (Old)
and /work/SRC/openSUSE:Factory/.elementary.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "elementary"
Changes:
--------
--- /work/SRC/openSUSE:Factory/elementary/elementary.changes 2015-08-27 08:55:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.elementary.new/elementary.changes 2015-09-08 18:05:56.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 7 11:34:28 UTC 2015 - simon(a)simotek.net
+
+- Use luajit on platforms that support it and lua < 5.2 following efl
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ elementary.spec ++++++
--- /var/tmp/diff_new_pack.i8LLjX/_old 2015-09-08 18:06:41.000000000 +0200
+++ /var/tmp/diff_new_pack.i8LLjX/_new 2015-09-08 18:06:41.000000000 +0200
@@ -18,6 +18,12 @@
%define build_doc 0%{?mandriva_version} == 20101 || 0%{?centos_version} == 6
+%ifarch %ix86 x86_64 %arml ppc
+%define luajit_present 1
+%else
+%define luajit_present 0
+%endif
+
%define efl_version 1.15.0
Name: elementary
@@ -39,7 +45,11 @@
BuildRequires: ImageMagick
BuildRequires: gettext-devel
BuildRequires: libtool
-BuildRequires: lua-devel
+%if %luajit_present
+BuildRequires: pkgconfig(luajit)
+%else
+BuildRequires: pkgconfig(lua) < 5.2
+%endif
BuildRequires: pkgconfig
BuildRequires: pkgconfig(ecore) >= %efl_version
BuildRequires: pkgconfig(ecore-con) >= %efl_version
@@ -89,7 +99,11 @@
Requires: efl-devel
Requires: gettext-devel
Requires: libelementary1 = %{version}
-Requires: lua-devel
+%if %luajit_present
+Requires: pkgconfig(luajit)
+%else
+Requires: pkgconfig(lua) < 5.2
+%endif
%description devel
Development files for Elementary library.
1
0
Hello community,
here is the log from the commit of package python3-Pillow for openSUSE:Factory checked in at 2015-09-08 17:44:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-Pillow (Old)
and /work/SRC/openSUSE:Factory/.python3-Pillow.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-Pillow"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-Pillow/python3-Pillow.changes 2015-08-05 06:49:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-Pillow.new/python3-Pillow.changes 2015-09-08 18:05:38.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Sep 5 07:09:14 UTC 2015 - badshah400(a)gmail.com
+
+- For openSUSE:42 do not use %exclude on packages which are not
+ being packaged elsewhere anyway; fixes build failures caused
+ due to unpackaged debuginfo files generated otherwise.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-Pillow.spec ++++++
--- /var/tmp/diff_new_pack.VpOmRc/_old 2015-09-08 18:05:56.000000000 +0200
+++ /var/tmp/diff_new_pack.VpOmRc/_new 2015-09-08 18:05:56.000000000 +0200
@@ -106,9 +106,11 @@
%{_bindir}/pilprint-%{py3_ver}
%{python3_sitearch}/PIL
%{python3_sitearch}/Pillow-%{version}-py%{py3_ver}.egg-info
+%if 0%{?suse_version} != 1315
%exclude %{python3_sitearch}/PIL/ImageTk*
%exclude %{python3_sitearch}/PIL/_imagingtk*
%exclude %{python3_sitearch}/PIL/__pycache__/ImageTk.*.pyc
+%endif
%if 0%{?suse_version} > 1210
%ghost %{_sysconfdir}/alternatives/pilconvert
%ghost %{_sysconfdir}/alternatives/pildriver
1
0
Hello community,
here is the log from the commit of package python-glanceclient for openSUSE:Factory checked in at 2015-09-08 17:44:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-glanceclient (Old)
and /work/SRC/openSUSE:Factory/.python-glanceclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-glanceclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-glanceclient/python-glanceclient.changes 2015-08-27 08:54:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-glanceclient.new/python-glanceclient.changes 2015-09-08 18:05:36.000000000 +0200
@@ -1,0 +2,58 @@
+Mon Sep 7 11:19:04 UTC 2015 - dmueller(a)suse.com
+
+- update to 1.0.0:
+ * 1.0.0 release notes
+ * Remove custom SSL compression handling
+ * Add more information show in v2
+ * Require disk and container format on image-create
+ * Ship the default image schema in the client
+ * Use API v2 as default
+ * V2: Do not validate image schema when listing
+ * Updated from global requirements
+ * Add unicode support for properties values in v2 shell
+ * Fix failure to create glance https connection pool
+ * Enable flake8 checks
+ * Extend unittests coverage for v2 tasks module
+ * Support for Metadata Definition Catalog for Tags
+ * Fix exception message in Http.py
+ * Fix an issue with broken test on ci
+ * Remove usage of assert_called_once on Mock objects
+ * Add .eggs/* to .gitignore
+ * Account for dictionary order in test_shell.py
+ * Do not fall back to namespaced oslo.i18n
+ * Add v2 support for the marker attribute
+ * Import only modules and update tox.ini
+ * Close iterables at the end of iteration
+ * Make glanceclient accept a session object
+ * cleanup openstack-common.conf and sync updated files
+ * Add release notes for 0.19.0
+ * Include owner and status option in v2 image list
+ * Fix Metadef Object update issue with python-glanceclient
+ * Fix functional tests in gate
+ * Do not crash on homedir mkdir
+ * Improve import related error handling
+ * Add parameter 'changes-since' for image-list of v1
+ * Check image-download for redirection
+ * Add some basic CLI functional tests
+ * Use assertIn instead of assertTrue in tests
+ * Unorder compare in tests
+ * Add release notes for 0.18.0
+ * Update README to work with release tools
+ * Create functional test base
+ * Move unit tests to standard directory
+ * Add unit tests for log_curl_request
+ * Fix https stack trace on python 3.4 client
+ * Omit 'locations' as image-create parameter
+ * Creating task with invalid property crashes in py3
+ * Don't accept *args for client
+ * Stub authentication requests rather than plugins
+ * Remove keystoneclient mocks
+ * Replace mox in tests with requests-mock
+ * Expose 'is_base' schema property attribute
+ * Validate tag name when filtering for images
+ * Remove redundant FakeSchemaAPI __init__ method
+ * glance image-show now have --human-readable option
+ * Test unit for checking update active images
+ * Correct help messages for image-update command
+
+-------------------------------------------------------------------
Old:
----
python-glanceclient-0.17.1.tar.gz
New:
----
python-glanceclient-1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-glanceclient.spec ++++++
--- /var/tmp/diff_new_pack.vbjUyb/_old 2015-09-08 18:05:38.000000000 +0200
+++ /var/tmp/diff_new_pack.vbjUyb/_new 2015-09-08 18:05:38.000000000 +0200
@@ -19,7 +19,7 @@
%define component glanceclient
Name: python-glanceclient
-Version: 0.17.1
+Version: 1.0.0
Release: 0
Summary: Openstack Image (Glance) API Client
License: Apache-2.0
@@ -44,12 +44,12 @@
Requires: python-argparse
# /usr/bin/glance uses pkg_resources, thus:
Requires: python-PrettyTable >= 0.7
-Requires: python-keystoneclient >= 1.1.0
+Requires: python-keystoneclient >= 1.6.0
Requires: python-oslo.i18n >= 1.5.0
-Requires: python-oslo.utils >= 1.4.0
-Requires: python-pbr >= 0.6
+Requires: python-oslo.utils >= 1.9.0
+Requires: python-pbr >= 1.4
Requires: python-pyOpenSSL >= 0.11
-Requires: python-requests >= 2.2.0
+Requires: python-requests >= 2.5.2
Requires: python-six >= 1.9.0
Requires: python-warlock >= 1.0.1
@@ -71,10 +71,10 @@
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
%endif
-Requires: python-mock >= 1.0
+Requires: python-mock >= 1.2
Requires: python-mox3 >= 0.7.0
Requires: python-testrepository >= 0.0.18
-Requires: python-testtools >= 0.9.36
+Requires: python-testtools >= 1.4.0
%description test
This package contains testsuite files for %{name}.
++++++ python-glanceclient-0.17.1.tar.gz -> python-glanceclient-1.0.0.tar.gz ++++++
++++ 20918 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-cinderclient for openSUSE:Factory checked in at 2015-09-08 17:44:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cinderclient (Old)
and /work/SRC/openSUSE:Factory/.python-cinderclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cinderclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cinderclient/python-cinderclient.changes 2015-08-27 08:54:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-cinderclient.new/python-cinderclient.changes 2015-09-08 18:05:34.000000000 +0200
@@ -1,0 +2,95 @@
+Mon Sep 7 11:31:25 UTC 2015 - dmueller(a)suse.com
+
+- update to 1.3.1:
+ * Prep for 1.3.0
+ * Updated from global requirements
+ * Revert "Enable version discovery"
+ * Fix typo in comment message
+ * Add set_management_url to cinderclient.client
+ * cinderclient does not honor --os-region-name or ENV[OS_REGION_NAME]
+ * Add encryption-type-update to cinderclient
+ * Set max volume size limit for the tenant
+ * Add tests for python-cinderclient and style fix
+ * The is_public filter in VolumeTypeManager.list broke the find in VolumeTypeAccessManager, which caused all commands which should have taken a volume_type name to fail. I have choosen to fix this by effectively removing the filter in the client (and the --all argument to type-list). This is OK, since Cinder implements the filtering by user anyway. The consequence of this change is that the Admin user will always see the entire list (including private types) every time they execute type-list
+ * Add volume multi attach support
+ * Fix functional post test_hook
+ * Fix condition in CheckSizeArgForCreate parser action
+ * Support host-attach of volumes
+ * Bump hacking to >=0.10.0,<0.11 to fix failure of gate pep8
+ * Fix functional readonly_cli tests
+ * Add findall server side filtering
+ * Fix functional tests and tox 2.0 errors
+ * Fixed typos and repeated docstrings
+ * cinderclient deprecated endpoint_type needs dest=
+ * cinderclient no longer honors --endpoint-type
+ * Add functional post test_hook
+ * Add --os-endpoint-type to match other services
+ * Find resource refactoring
+ * Avoid _get_keystone_session() if auth_plugin
+ * Update release notes for 1.2.0 and 1.2.1
+ * Add CLI read-only functional tests
+ * Change --force parameter into boolean
+ * Add search_opts into the method list() for qos specs
+ * Add version removal rule to stop discovery warning
+ * V2:cinder create --image option doesn't work
+ * Create Consistency Group from CG Snapshot CLI
+ * Kilo Consistency Group CLI update
+ * Remove "OPTIONAL:" from optional argument help text (v2)
+ * Support pagination param limit in volume list in V1
+ * Update README to work with release tools
+ * Add support to incremental backups in cinder
+ * Enable version discovery
+ * Remove print statement in unit test
+ * Add ability to specify path var to testr
+ * cinder list now supports filter by tenant
+ * Remove duplicate find request in find_resource
+ * Allow cinderclient to handle exception response
+ * Move unit tests into test directory
+ * Add covhtml to gitignore
+ * bash_completion now shows only subcommands when subcommand is "help"
+ * Update to change name for volume type client
+ * cinder list now prints dash '-' when data is None
+ * cinderclient accepts arguments after metadata without -- separator
+ * Updated help on cinder reset-state cli
+ * Fix outdated URLs and some minor fixes
+ * Fixes quota-class-update commands
+ * Adopt CLI sorting argument guidelines
+ * Add missing all-tenants option to transfer-list
+ * Add -d short option for --debug
+ * Fix volume_transfers import in v2
+ * reset-state should warn that it is DB only
+ * Expose cinder's scheduler pool API
+ * Fix up help message for reset-state call
+ * Add tests for consistency groups and cgsnapshots
+ * cinder list fails with 'name' sort key
+ * Remove commented code in cinderclient/v1/volumes.py
+ * Make cinderclient metadata CLI output consistent
+ * Leverage openstack.common.importutils import_class
+ * v2 error message grammatical error
+ * Add command to show pool information for backends
+ * Client output is not sorted by --sort_key
+ * Add support for os-volume-type-access extension
+ * Added type description for volume type client
+ * Don't use sessions if third party plugin is used
+ * Workflow documentation is now in infra-manual
+ * List all the request items when the list is over osapi_max_limit
+ * Allow CG quota to be showed and updated
+ * Add the parameter bypass_url to the cinder client
+ * Use newer features from keystoneclient
+ * Support Volume Backup Quota
+ * Add ability to create volume from image by image name
+ * Remove cinderclient/tests from coverage report
+ * Fix 'search_opts' error with backup delete command
+ * Remove unused methods from utils.py
+ * Fix incorrect variable name
+ * cinderclient does not retry with TimeoutException
+ * Adds tty password entry for cinderclient
+ * Don't git ignore .mailmap and .testr.conf
+ * gitignore /.*
+ * Add profiling support to cinderclient
+ * Fix volume name support of unmanage and replication commands
+ * Simplify cinder manage command args
+ * Add swap and it's variants to gitignore
+ * Docstring of unmanage subcommand is missing
+
+-------------------------------------------------------------------
Old:
----
python-cinderclient-1.1.1.tar.gz
New:
----
python-cinderclient-1.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cinderclient.spec ++++++
--- /var/tmp/diff_new_pack.HXqxrB/_old 2015-09-08 18:05:36.000000000 +0200
+++ /var/tmp/diff_new_pack.HXqxrB/_new 2015-09-08 18:05:36.000000000 +0200
@@ -19,7 +19,7 @@
%define component cinderclient
Name: python-%{component}
-Version: 1.1.1
+Version: 1.3.1
Release: 0
Summary: Openstack Block Storage (Cinder) API Client
License: Apache-2.0
@@ -38,10 +38,10 @@
Requires: python >= 2.6.8
Requires: python-Babel >= 1.3
Requires: python-PrettyTable >= 0.7
-Requires: python-pbr >= 0.6
-Requires: python-requests >= 1.2.1
+Requires: python-pbr >= 0.11
+Requires: python-requests >= 2.5.2
Requires: python-simplejson >= 2.2.0
-Requires: python-six >= 1.7.0
+Requires: python-six >= 1.9.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-argparse
@@ -70,11 +70,11 @@
%if 0%{?suse_version} <= 1110
Requires: python-discover
%endif
-Requires: python-fixtures >= 0.3.14
+Requires: python-fixtures >= 1.3.1
Requires: python-mock >= 1.0
Requires: python-python-subunit >= 0.0.18
Requires: python-testrepository >= 0.0.18
-Requires: python-testtools >= 0.9.34
+Requires: python-testtools >= 1.4.0
%description test
This package contains testsuite files for %{name}.
++++++ python-cinderclient-1.1.1.tar.gz -> python-cinderclient-1.3.1.tar.gz ++++++
++++ 21395 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package qpid-cpp for openSUSE:Factory checked in at 2015-09-08 17:44:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qpid-cpp (Old)
and /work/SRC/openSUSE:Factory/.qpid-cpp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qpid-cpp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qpid-cpp/perl-qpid.changes 2015-04-02 16:02:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qpid-cpp.new/perl-qpid.changes 2015-09-08 18:05:25.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 31 08:58:33 UTC 2015 - fstrba(a)suse.com
+
+- Update to upstream 0.34
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/qpid-cpp/qpid-cpp.changes 2015-04-02 16:02:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qpid-cpp.new/qpid-cpp.changes 2015-09-08 18:05:25.000000000 +0200
@@ -1,0 +2,53 @@
+Mon Aug 31 08:53:46 UTC 2015 - fstrba(a)suse.com
+
+- Update to upstream 0.34
+ * New features and improvements
+ - QPID-6492 - When AMQP 1.0 link attach triggers an ACL error,
+ the link should be refused
+ - QPID-6592 - [amqp1.0] Add identifying information to the
+ connection properties advertised to the client
+ * Bugs fixed
+ - QPID-6256 - Improved control over AMQP versions tried
+ - QPID-6368 - Coverity 1262251 - double free in ~PersistableQueue
+ - QPID-6392 - [C++ Broker] [AMQP 1.0] the broker didnt respond
+ to a link detach request
+ - QPID-6397 - [C++ broker] segfault when processing QMF method
+ during periodic processing
+ - QPID-6399 - Windows run_test.ps1 script needs revamp to match
+ run_test
+ - QPID-6409 - Taking address of a 0-length vector throws
+ exception
+ - QPID-6463 - WinSDK script fails - Proton components have moved
+ - QPID-6470 - FieldValue::getFloatingPointValue() converts endian
+ each time it is called
+ - QPID-6484 - AccessViolationException when creating queues
+ - QPID-6493 - cmake install (TARGET ...) component syntax is
+ incorrect in the src/CMakeLists.txt
+ - QPID-6511 - [C++ Broker, clients] AMQP 0-10 windows clients
+ can not connect to --no-auth broker
+ - QPID-6521 - [AMQP 1.0] messages received pre-settled are never
+ settled locally causing memory build up in client
+ - QPID-6524 - [C++ broker]: Fix for QPID-5107 incomplete for
+ queues
+ - QPID-6526 - [AMQP 1.0]: race condition in creating
+ senders/receivers
+ - QPID-6529 - [C++ Client] Fails to compile with Proton 0.10
+ - QPID-6532 - make sasl service name configurable
+ - QPID-6548 - SYSV init scripts do not work properly with
+ SSL-only broker.
+ - QPID-6549 - service qpidd status returns 1 - hidden error is
+ "ConnectionError: connection-forced: Connection must be
+ encrypted.(320)"
+ - QPID-6551 - [C++ broker]: linearstore raising
+ JERR_LFCR_SEQNUMNOTFOUND after sending many DTX transactions
+ - QPID-6559 - NullSaslClient only support ANONYMOUS
+ - QPID-6563 - [amqp1.0] broker does not clean up closed sessions
+ or links
+ - QPID-6568 - [amqp1.0] bump the minimum required proton version
+ to 0.7
+ - QPID-6602 - [AMQP 1.0] prefetch is not always accurate
+- Added patch:
+ * qpid-boost-test-message.patch
+ - Fix build with boost 1.59
+
+-------------------------------------------------------------------
Old:
----
qpid-cpp-0.32.tar.gz
New:
----
qpid-boost-test-message.patch
qpid-cpp-0.34.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-qpid.spec ++++++
--- /var/tmp/diff_new_pack.65T317/_old 2015-09-08 18:05:34.000000000 +0200
+++ /var/tmp/diff_new_pack.65T317/_new 2015-09-08 18:05:34.000000000 +0200
@@ -17,13 +17,13 @@
Name: perl-qpid
-Version: 0.32
+Version: 0.34
Release: 0
Summary: Perl bindings for the Qpid messaging framework
License: Apache-2.0
Group: Development/Libraries/Perl
Url: http://qpid.apache.org/
-Source0: http://www.apache.org/dist/qpid/%{version}/qpid-cpp-%{version}.tar.gz
+Source0: http://www.apache.org/dist/qpid/cpp/%{version}/qpid-cpp-%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: qpid-cpp-client-devel = %{version}
BuildRequires: swig >= 2.0.9
++++++ qpid-cpp.spec ++++++
--- /var/tmp/diff_new_pack.65T317/_old 2015-09-08 18:05:34.000000000 +0200
+++ /var/tmp/diff_new_pack.65T317/_new 2015-09-08 18:05:34.000000000 +0200
@@ -17,13 +17,13 @@
Name: qpid-cpp
-Version: 0.32
+Version: 0.34
Release: 0
Summary: Libraries for Qpid C++ client applications
License: Apache-2.0
Group: Productivity/Networking/Other
Url: http://qpid.apache.org
-Source0: http://www.apache.org/dist/qpid/%{version}/%{name}-%{version}.tar.gz
+Source0: http://www.apache.org/dist/qpid/cpp/%{version}/%{name}-%{version}.tar.gz
Source1000: %{name}-rpmlintrc
Patch0: 0001-NO-JIRA-qpidd.service-file-for-use-on-Fedora.patch
Patch3: qpid-0.24-date.patch
@@ -31,6 +31,7 @@
Patch5: qpid-cpp-initdir.patch
Patch8: %{name}-0.30-cmake.patch
Patch9: %{name}-aarch64.patch
+Patch10: qpid-boost-test-message.patch
BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: cyrus-sasl
@@ -262,6 +263,7 @@
%package -n python-qpid_messaging
Summary: Python bindings for the Qpid messaging framework
+License: Apache-2.0
Group: Development/Libraries/Python
Requires: python
Requires: python-qpid-common
@@ -278,7 +280,9 @@
%package -n qpid-qmf
Summary: The QPID Management Framework
-Requires: python-qpid >= %{version}
+License: Apache-2.0
+Group: Productivity/Networking/Other
+Requires: python-qpid >= 0.32
Requires: python-qpid-qmf = %{version}
Requires: qpid-cpp-client >= %{version}
@@ -298,6 +302,8 @@
%package -n qpid-qmf-devel
Summary: Header files and tools for developing QMF extensions
+License: Apache-2.0
+Group: Productivity/Networking/Other
Requires: qpid-cpp-client-devel >= %{version}
Requires: qpid-qmf = %{version}-%{release}
@@ -319,6 +325,8 @@
%package -n python-qpid-qmf
Summary: The QPID Management Framework bindings for python
+License: Apache-2.0
+Group: Productivity/Networking/Other
Requires: qpid-qmf = %{version}-%{release}
%description -n python-qpid-qmf
@@ -343,6 +351,7 @@
%patch5 -p1 -b .initdir
%patch8 -p1
%patch9 -p2
+%patch10 -p1
%global perftests "qpid-perftest qpid-topic-listener qpid-topic-publisher qpid-latency-test qpid-client-test qpid-txtest"
++++++ qpid-boost-test-message.patch ++++++
--- qpid-cpp-0.34/src/tests/exception_test.cpp 2015-08-30 03:17:50.546935672 +0100
+++ qpid-cpp-0.34/src/tests/exception_test.cpp 2015-08-30 03:18:01.970986855 +0100
@@ -63,7 +63,7 @@
}
catch(const Ex& e) {
caught=true;
- BOOST_MESSAGE(string("Caught expected exception: ")+e.what()+"["+typeid(e).name()+"]");
+ BOOST_TEST_MESSAGE(string("Caught expected exception: ")+e.what()+"["+typeid(e).name()+"]");
}
catch(const std::exception& e) {
BOOST_ERROR(string("Bad exception: ")+e.what()+"["+typeid(e).name()+"] expected: "+typeid(Ex).name());
++++++ qpid-cpp-0.32.tar.gz -> qpid-cpp-0.34.tar.gz ++++++
++++ 7291 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package libirman for openSUSE:Factory checked in at 2015-09-08 17:44:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libirman (Old)
and /work/SRC/openSUSE:Factory/.libirman.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libirman"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libirman/libirman.changes 2015-08-21 07:40:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libirman.new/libirman.changes 2015-09-08 18:05:24.000000000 +0200
@@ -1,0 +2,12 @@
+Mon Sep 7 08:36:28 UTC 2015 - p.drouand(a)gmail.com
+
+- Update to version 0.4.6
+ * Refreshing automake files and installation
+ * Add a pkgconfig file
+- Remove obsolete dependencies
+ * autoconf
+ * automake
+ * libtool
+- Add a dependency to pkg-config
+
+-------------------------------------------------------------------
Old:
----
libirman-0.4.5.tar.bz2
New:
----
libirman-0.4.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libirman.spec ++++++
--- /var/tmp/diff_new_pack.DXt3ND/_old 2015-09-08 18:05:25.000000000 +0200
+++ /var/tmp/diff_new_pack.DXt3ND/_new 2015-09-08 18:05:25.000000000 +0200
@@ -18,16 +18,14 @@
%define lib_name %{name}0
Name: libirman
-Version: 0.4.5
+Version: 0.4.6
Release: 0
Summary: Library for irman access
License: GPL-2.0+
Group: System/Libraries
Url: http://www.lirc.org
Source0: http://sourceforge.net/projects/lirc/files/libirman/%{version}/%{name}-%{ve…
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: libtool
+BuildRequires: pkg-config
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -60,7 +58,6 @@
%setup -q
%build
-autoreconf -fiv
%configure \
--disable-static
make %{?_smp_mflags}
@@ -68,6 +65,7 @@
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
find %{buildroot} -type f -name "*.la" -delete -print
+rm -rf %{buildroot}%{_datadir}
%post -n %{lib_name} -p /sbin/ldconfig
@@ -87,6 +85,7 @@
%doc COPYING COPYING.lib NEWS README
%defattr(-,root,root,-)
%{_libdir}/*.so
+%{_libdir}/pkgconfig/%{name}.pc
%{_includedir}/*.h
%changelog
++++++ libirman-0.4.5.tar.bz2 -> libirman-0.4.6.tar.bz2 ++++++
++++ 68071 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gcin for openSUSE:Factory checked in at 2015-09-08 17:44:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcin (Old)
and /work/SRC/openSUSE:Factory/.gcin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcin"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcin/gcin.changes 2015-06-01 09:52:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gcin.new/gcin.changes 2015-09-08 18:05:13.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 7 08:11:22 UTC 2015 - glin(a)suse.com
+
+- Add libappindicator3-devel to BuildRequires to enable appindicator
+ support for Plasma 5
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gcin.spec ++++++
--- /var/tmp/diff_new_pack.yhA1Mv/_old 2015-09-08 18:05:23.000000000 +0200
+++ /var/tmp/diff_new_pack.yhA1Mv/_new 2015-09-08 18:05:23.000000000 +0200
@@ -57,6 +57,13 @@
BuildRequires: libQt5PlatformSupport-devel-static
BuildRequires: libqt5-qtbase-devel
%endif
+%if 0%{?suse_version} > 1315
+BuildRequires: libappindicator3-devel
+%else
+%if 0%{?suse_version} == 1315 && 0%{?is_opensuse}
+BuildRequires: libappindicator3-devel
+%endif
+%endif
Requires: %{name}-branding
Requires: %{name}-gtk2-immodule = %{version}
Requires: %{name}-qt4-immodule = %{version}
1
0
Hello community,
here is the log from the commit of package fail2ban for openSUSE:Factory checked in at 2015-09-08 17:44:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fail2ban (Old)
and /work/SRC/openSUSE:Factory/.fail2ban.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fail2ban"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fail2ban/fail2ban.changes 2015-07-03 00:03:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fail2ban.new/fail2ban.changes 2015-09-08 18:05:10.000000000 +0200
@@ -1,0 +2,92 @@
+Mon Sep 7 09:45:56 UTC 2015 - jweberhofer(a)weberhofer.at
+
+- patches are no longer included conditionally
+
+-------------------------------------------------------------------
+Mon Sep 7 06:54:33 UTC 2015 - jweberhofer(a)weberhofer.at
+
+- fail2ban-exclude-ExecuteTimeoutWithNastyChildren-test.patch excludes the
+ ExecuteTimeoutWithNastyChildren test, as it doesn't run correctly on
+ openSUSE.
+
+- fail2ban-disable-iptables-w-option.patch disables iptables "-w" option for
+ older releases.
+
+- Update to version 0.9.3
+
+- IMPORTANT incompatible changes:
+ * filter.d/roundcube-auth.conf
+ - Changed logpath to 'errors' log (was 'userlogins')
+ * action.d/iptables-common.conf
+ - All calls to iptables command now use -w switch introduced in
+ iptables 1.4.20 (some distribution could have patched their
+ earlier base version as well) to provide this locking mechanism
+ useful under heavy load to avoid contesting on iptables calls.
+ If you need to disable, define 'action.d/iptables-common.local'
+ with empty value for 'lockingopt' in `[Init]` section.
+ * mail-whois-lines, sendmail-geoip-lines and sendmail-whois-lines
+ actions now include by default only the first 1000 log lines in
+ the emails. Adjust <grepopts> to augment the behavior.
+
+- Fixes:
+ * reload in interactive mode appends all the jails twice (gh-825)
+ * reload server/jail failed if database used (but was not changed) and
+ some jail active (gh-1072)
+ * filter.d/dovecot.conf - also match unknown user in passwd-file.
+ Thanks Anton Shestakov
+ * Fix fail2ban-regex not parsing journalmatch correctly from filter config
+ * filter.d/asterisk.conf - fix security log support for Asterisk 12+
+ * filter.d/roundcube-auth.conf
+ - Updated regex to work with 'errors' log (1.0.5 and 1.1.1)
+ - Added regex to work with 'userlogins' log
+ * action.d/sendmail*.conf - use LC_ALL (superseeding LC_TIME) to override
+ locale on systems with customized LC_ALL
+ * performance fix: minimizes connection overhead, close socket only at
+ communication end (gh-1099)
+ * unbanip always deletes ip from database (independent of bantime, also if
+ currently not banned or persistent)
+ * guarantee order of dbfile to be before dbpurgeage (gh-1048)
+ * always set 'dbfile' before other database options (gh-1050)
+ * kill the entire process group of the child process upon timeout (gh-1129).
+ Otherwise could lead to resource exhaustion due to hanging whois
+ processes.
+ * resolve /var/run/fail2ban path in setup.py to help installation
+ on platforms with /var/run -> /run symlink (gh-1142)
+
+- New Features:
+ * RETURN iptables target is now a variable: <returntype>
+ * New type of operation: pass2allow, use fail2ban for "knocking",
+ opening a closed port by swapping blocktype and returntype
+ * New filters:
+ - froxlor-auth - Thanks Joern Muehlencord
+ - apache-pass - filter Apache access log for successful authentication
+ * New actions:
+ - shorewall-ipset-proto6 - using proto feature of the Shorewall. Still requires
+ manual pre-configuration of the shorewall. See the action file for detail.
+ * New jails:
+ - pass2allow-ftp - allows FTP traffic after successful HTTP authentication
+
+- Enhancements:
+ * action.d/cloudflare.conf - improved documentation on how to allow
+ multiple CF accounts, and jail.conf got new compound action
+ definition action_cf_mwl to submit cloudflare report.
+ * Check access to socket for more detailed logging on error (gh-595)
+ * fail2ban-testcases man page
+ * filter.d/apache-badbots.conf, filter.d/nginx-botsearch.conf - add
+ HEAD method verb
+ * Revamp of Travis and coverage automated testing
+ * Added a space between IP address and the following colon
+ in notification emails for easier text selection
+ * Character detection heuristics for whois output via optional setting
+ in mail-whois*.conf. Thanks Thomas Mayer.
+ Not enabled by default, if _whois_command is set to be
+ %(_whois_convert_charset)s (e.g. in action.d/mail-whois-common.local),
+ it
+ - detects character set of whois output (which is undefined by
+ RFC 3912) via heuristics of the file command
+ - converts whois data to UTF-8 character set with iconv
+ - sends the whois output in UTF-8 character set to mail program
+ - avoids that heirloom mailx creates binary attachment for input with
+ unknown character set
+
+-------------------------------------------------------------------
Old:
----
fail2ban-0.9.2.tar.gz
New:
----
fail2ban-0.9.3.tar.gz
fail2ban-disable-iptables-w-option.patch
fail2ban-exclude-ExecuteTimeoutWithNastyChildren-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fail2ban.spec ++++++
--- /var/tmp/diff_new_pack.eQfo51/_old 2015-09-08 18:05:12.000000000 +0200
+++ /var/tmp/diff_new_pack.eQfo51/_new 2015-09-08 18:05:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: fail2ban
-Version: 0.9.2
+Version: 0.9.3
Release: 0
Summary: Bans IP addresses that make too many authentication failures
License: GPL-2.0+
@@ -37,6 +37,12 @@
Patch100: fail2ban-opensuse-locations.patch
# PATCH-FIX-OPENSUSE fail2ban-opensuse-service.patch jweberhofer(a)weberhofer.at -- openSUSE modifications to the service file
Patch101: fail2ban-opensuse-service.patch
+# PATCH-FIX-OPENSUSE fail2ban-exclude-ExecuteTimeoutWithNastyChildren-test.patch jweberhofer(a)weberhofer.at -- disable test which currently fails on some systems
+Patch102: fail2ban-exclude-ExecuteTimeoutWithNastyChildren-test.patch
+# PATCH-FIX-OPENSUSE fail2ban-disable-iptables-w-option.patch jweberhofer(a)weberhofer.at -- disable iptables "-w" option for older releases
+Patch200: fail2ban-disable-iptables-w-option.patch
+# PATCH-FIX-OPENSUSE fail2ban-exclude-dev-log-tests.patch jweberhofer(a)weberhofer.at -- remove tests that can't work on opensuse < 13.3
+Patch201: fail2ban-exclude-dev-log-tests.patch
BuildRequires: fdupes
BuildRequires: logrotate
BuildRequires: python-devel
@@ -49,10 +55,6 @@
Requires: python >= 2.5
Requires: whois
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} < 1321
-# PATCH-FIX-OPENSUSE fail2ban-exclude-dev-log-tests.patch jweberhofer(a)weberhofer.at -- remove tests that can't work on opensuse < 13.3
-Patch102: fail2ban-exclude-dev-log-tests.patch
-%endif
%if 0%{?suse_version} != 1110
BuildArch: noarch
%endif
@@ -123,8 +125,12 @@
%patch100 -p1
%patch101 -p1
-%if 0%{?suse_version} < 1321
%patch102 -p1
+%if 0%{?suse_version} < 1310
+%patch200 -p1
+%endif
+%if 0%{?suse_version} < 1321
+%patch201 -p1
%endif
rm config/paths-debian.conf \
++++++ fail2ban-0.9.2.tar.gz -> fail2ban-0.9.3.tar.gz ++++++
++++ 4309 lines of diff (skipped)
++++++ fail2ban-disable-iptables-w-option.patch ++++++
diff -ur fail2ban-0.9.3-orig/config/action.d/iptables-common.conf fail2ban-0.9.3/config/action.d/iptables-common.conf
--- fail2ban-0.9.3-orig/config/action.d/iptables-common.conf 2015-08-01 03:32:13.000000000 +0200
+++ fail2ban-0.9.3/config/action.d/iptables-common.conf 2015-08-26 13:35:33.542992089 +0200
@@ -55,8 +55,10 @@
# running concurrently and causing irratic behavior. -w was introduced
# in iptables 1.4.20, so might be absent on older systems
# See https://github.com/fail2ban/fail2ban/issues/1122
+# The default option "-w" can be used for openSUSE versions 13.2+ and
+# for updated versions of openSUSE 13.1; SLE 12 supports this option.
# Values: STRING
-lockingopt = -w
+lockingopt =
# Option: iptables
# Notes.: Actual command to be executed, including common to all calls options
++++++ fail2ban-exclude-ExecuteTimeoutWithNastyChildren-test.patch ++++++
diff -ur fail2ban-0.9.3-orig/fail2ban/tests/actiontestcase.py fail2ban-0.9.3/fail2ban/tests/actiontestcase.py
--- fail2ban-0.9.3-orig/fail2ban/tests/actiontestcase.py 2015-08-01 03:32:13.000000000 +0200
+++ fail2ban-0.9.3/fail2ban/tests/actiontestcase.py 2015-09-07 08:37:30.842249270 +0200
@@ -204,44 +204,44 @@
or self._is_logged('sleep 60 -- timed out after 3 seconds'))
self.assertTrue(self._is_logged('sleep 60 -- killed with SIGTERM'))
- def testExecuteTimeoutWithNastyChildren(self):
- # temporary file for a nasty kid shell script
- tmpFilename = tempfile.mktemp(".sh", "fail2ban_")
- # Create a nasty script which would hang there for a while
- with open(tmpFilename, 'w') as f:
- f.write("""#!/bin/bash
- trap : HUP EXIT TERM
-
- echo "$$" > %s.pid
- echo "my pid $$ . sleeping lo-o-o-ong"
- sleep 10000
- """ % tmpFilename)
-
- def getnastypid():
- with open(tmpFilename + '.pid') as f:
- return int(f.read())
-
- # First test if can kill the bastard
- self.assertRaises(
- RuntimeError, CommandAction.executeCmd, 'bash %s' % tmpFilename, timeout=.1)
- # Verify that the proccess itself got killed
- self.assertFalse(pid_exists(getnastypid())) # process should have been killed
- self.assertTrue(self._is_logged('timed out'))
- self.assertTrue(self._is_logged('killed with SIGTERM'))
-
- # A bit evolved case even though, previous test already tests killing children processes
- self.assertRaises(
- RuntimeError, CommandAction.executeCmd, 'out=`bash %s`; echo ALRIGHT' % tmpFilename,
- timeout=.2)
- # Verify that the proccess itself got killed
- self.assertFalse(pid_exists(getnastypid()))
- self.assertTrue(self._is_logged('timed out'))
- self.assertTrue(self._is_logged('killed with SIGTERM'))
-
- os.unlink(tmpFilename)
- os.unlink(tmpFilename + '.pid')
-
-
+# def testExecuteTimeoutWithNastyChildren(self):
+# # temporary file for a nasty kid shell script
+# tmpFilename = tempfile.mktemp(".sh", "fail2ban_")
+# # Create a nasty script which would hang there for a while
+# with open(tmpFilename, 'w') as f:
+# f.write("""#!/bin/bash
+# trap : HUP EXIT TERM
+#
+# echo "$$" > %s.pid
+# echo "my pid $$ . sleeping lo-o-o-ong"
+# sleep 10000
+# """ % tmpFilename)
+#
+# def getnastypid():
+# with open(tmpFilename + '.pid') as f:
+# return int(f.read())
+#
+# # First test if can kill the bastard
+# self.assertRaises(
+# RuntimeError, CommandAction.executeCmd, 'bash %s' % tmpFilename, timeout=.1)
+# # Verify that the proccess itself got killed
+# self.assertFalse(pid_exists(getnastypid())) # process should have been killed
+# self.assertTrue(self._is_logged('timed out'))
+# self.assertTrue(self._is_logged('killed with SIGTERM'))
+#
+# # A bit evolved case even though, previous test already tests killing children processes
+# self.assertRaises(
+# RuntimeError, CommandAction.executeCmd, 'out=`bash %s`; echo ALRIGHT' % tmpFilename,
+# timeout=.2)
+# # Verify that the proccess itself got killed
+# self.assertFalse(pid_exists(getnastypid()))
+# self.assertTrue(self._is_logged('timed out'))
+# self.assertTrue(self._is_logged('killed with SIGTERM'))
+#
+# os.unlink(tmpFilename)
+# os.unlink(tmpFilename + '.pid')
+#
+#
def testCaptureStdOutErr(self):
CommandAction.executeCmd('echo "How now brown cow"')
self.assertTrue(self._is_logged("'How now brown cow\\n'"))
++++++ fail2ban-opensuse-locations.patch ++++++
--- /var/tmp/diff_new_pack.eQfo51/_old 2015-09-08 18:05:12.000000000 +0200
+++ /var/tmp/diff_new_pack.eQfo51/_new 2015-09-08 18:05:12.000000000 +0200
@@ -1,16 +1,16 @@
-diff -ur fail2ban-0.9.2-orig/config/jail.conf fail2ban-0.9.2/config/jail.conf
---- fail2ban-0.9.2-orig/config/jail.conf 2015-04-29 05:52:48.000000000 +0200
-+++ fail2ban-0.9.2/config/jail.conf 2015-05-08 17:03:32.377375630 +0200
-@@ -344,7 +344,7 @@
+diff -ur fail2ban-0.9.3-orig/config/jail.conf fail2ban-0.9.3/config/jail.conf
+--- fail2ban-0.9.3-orig/config/jail.conf 2015-08-01 03:32:13.000000000 +0200
++++ fail2ban-0.9.3/config/jail.conf 2015-08-26 14:39:57.561851833 +0200
+@@ -348,7 +348,7 @@
[roundcube-auth]
port = http,https
--logpath = /var/log/roundcube/userlogins
-+logpath = /srv/www/roundcubemail/logs/errors
+-logpath = logpath = %(roundcube_errors_log)s
++logpath = %(roundcube_errors_log)s
[openwebmail]
-@@ -617,7 +617,7 @@
+@@ -628,7 +628,7 @@
# filter = named-refused
# port = domain,953
# protocol = udp
@@ -19,7 +19,7 @@
# IMPORTANT: see filter.d/named-refused for instructions to enable logging
# This jail blocks TCP traffic for DNS requests.
-@@ -625,7 +625,7 @@
+@@ -636,7 +636,7 @@
[named-refused]
port = domain,953
@@ -28,3 +28,15 @@
[nsd]
+diff -ur fail2ban-0.9.3-orig/config/paths-common.conf fail2ban-0.9.3/config/paths-common.conf
+--- fail2ban-0.9.3-orig/config/paths-common.conf 2015-08-01 03:32:13.000000000 +0200
++++ fail2ban-0.9.3/config/paths-common.conf 2015-08-26 14:40:58.187091888 +0200
+@@ -62,7 +62,7 @@
+
+ mysql_log = %(syslog_daemon)s
+
+-roundcube_errors_log = /var/log/roundcube/errors
++roundcube_errors_log = /srv/www/roundcubemail/logs/errors
+
+ # Directory with ignorecommand scripts
+ ignorecommands_dir = /etc/fail2ban/filter.d/ignorecommands
++++++ paths-opensuse.conf ++++++
--- /var/tmp/diff_new_pack.eQfo51/_old 2015-09-08 18:05:13.000000000 +0200
+++ /var/tmp/diff_new_pack.eQfo51/_new 2015-09-08 18:05:13.000000000 +0200
@@ -33,4 +33,6 @@
mysql_log = /var/log/mysql/mysqld.log
+roundcube_errors_log = /srv/www/roundcubemail/logs/errors
+
solidpop3d_log = %(syslog_mail)s
1
0
Hello community,
here is the log from the commit of package python3-pyudev for openSUSE:Factory checked in at 2015-09-08 17:44:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pyudev (Old)
and /work/SRC/openSUSE:Factory/.python3-pyudev.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pyudev"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pyudev/python3-pyudev.changes 2013-06-21 19:08:59.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pyudev.new/python3-pyudev.changes 2015-09-08 18:05:06.000000000 +0200
@@ -1,0 +2,24 @@
+Mon Sep 7 09:13:23 UTC 2015 - p.drouand(a)gmail.com
+
+- Update to version 0.17
+ * #52: Remove global libudev object
+ * #57: Really start the monitor on :meth:`pyudev.Monitor.poll()`
+ * #60: Do not use :meth:`select.select` to avoid hitting its file descriptor
+ limit
+ * #58: Force non *blocking IO in :class:`pyudev.Monitor` to avoid blocking on
+ receiving the device
+ * #63: Set proper flags on pipe fds.
+ * #65: Handle irregular polling events properly.
+ * #50: Add :class:`pyudev.wx.MonitorObserver` and deprecate
+ :class:`pyudev.wx.WxUDevMonitorObserver`
+ * #50: Add :class:`pyudev.glib.MonitorObserver` and deprecate
+ :class:`pyudev.glib.GUDevMonitorObserver`
+ * #50: Add :class:`pyudev.pyqt4.MonitorObserver` and deprecate
+ :class:`pyudev.pyqt4.QUDevMonitorObserver`
+ * #50: Add :class:`pyudev.pyside.MonitorObserver` and deprecate
+ :class:`pyudev.pyside.QUDevMonitorObserver`
+ * Add a wrapper function to retry interruptible system calls.
+- Use python3-setuptools instead of python3-distribute
+- Remove python3-2to3 build dependency
+
+-------------------------------------------------------------------
Old:
----
pyudev-0.16.1.tar.gz
New:
----
pyudev-0.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pyudev.spec ++++++
--- /var/tmp/diff_new_pack.gwJLlE/_old 2015-09-08 18:05:09.000000000 +0200
+++ /var/tmp/diff_new_pack.gwJLlE/_new 2015-09-08 18:05:09.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python3-pyudev
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,20 +17,18 @@
Name: python3-pyudev
-Version: 0.16.1
+Version: 0.17
Release: 0
Summary: Udev bindings for Python
License: LGPL-2.1+
Group: Development/Libraries/Python
Url: http://pyudev.readthedocs.org/
-Source0: http://pypi.python.org/packages/source/p/pyudev/pyudev-%{version}.tar.gz
+Source0: https://pypi.python.org/packages/source/p/pyudev/pyudev-%{version}.tar.gz
BuildRequires: libudev-devel
-BuildRequires: python3-2to3
BuildRequires: python3-Sphinx
BuildRequires: python3-devel
-BuildRequires: python3-distribute
+BuildRequires: python3-setuptools
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A Python binding to libudev, the hardware management library and service found
@@ -48,6 +46,8 @@
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
+# Remove the tests; avoid further conflicts
+rm -rf %{buildroot}%{python3_sitelib}/tests
%files
%defattr(-,root,root,-)
++++++ pyudev-0.16.1.tar.gz -> pyudev-0.17.tar.gz ++++++
++++ 6891 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package horde5 for openSUSE:Factory checked in at 2015-09-08 17:44:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/horde5 (Old)
and /work/SRC/openSUSE:Factory/.horde5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "horde5"
Changes:
--------
--- /work/SRC/openSUSE:Factory/horde5/horde5.changes 2015-01-20 19:01:23.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.horde5.new/horde5.changes 2015-09-08 18:04:57.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Aug 27 12:26:43 UTC 2015 - p.drouand(a)gmail.com
+
+- Update to version 5.2.7
+ * Don't create a session for Webdav requests (Bug #14040).
+ * Mark PHP 5.6 as officially supported.
+ * Fix some issues with the permission interface when a value of 0
+ is a valid permission value (Bug #14025).
+- Remove INSTALL file from documentation directory
+- Split out the language files into it's own package
+
+-------------------------------------------------------------------
Old:
----
horde-5.2.3.tgz
New:
----
horde-5.2.7.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ horde5.spec ++++++
--- /var/tmp/diff_new_pack.tir30Y/_old 2015-09-08 18:05:05.000000000 +0200
+++ /var/tmp/diff_new_pack.tir30Y/_new 2015-09-08 18:05:05.000000000 +0200
@@ -25,7 +25,7 @@
Group: Productivity/Networking/Web/Utilities
Name: horde5
-Version: 5.2.3
+Version: 5.2.7
Release: 0
Source0: http://pear.horde.org/get/horde-%{version}.tgz
Source1: horde.conf
@@ -130,6 +130,8 @@
more information on Horde or the Horde Groupware suites, visit
http://www.horde.org.
+%lang_package
+
%prep
%setup -c -T
%{_bindir}/pear config-set horde_dir %{hordedir}
@@ -175,6 +177,8 @@
%{__rm} %{buildroot}/%{hordedir}/lib/.htaccess
%{__rm} %{buildroot}/%{peardir}/data/horde/scripts/.htaccess
%{__rm} %{buildroot}/%{hordedir}/rpc/.htaccess
+# remove INSTALL file
+rm -f %{buildroot}%{_docdir}/%{name}/INSTALL
%fdupes %buildroot%{hordedir}
%find_lang horde
@@ -202,9 +206,10 @@
%{_bindir}/pear uninstall --nodeps --ignore-errors --register-only pear.horde.org/horde
fi
-%files -f horde.lang
+%files
%defattr(0644,root,root,0755)
%doc %{_docdir}/%{name}
+%exclude %{hordedir}/locale/*/LC_MESSAGES/horde.mo
%{peardir}/*
%{xmldir}/horde.xml
%dir %{hordedir}
@@ -262,4 +267,7 @@
%config(noreplace) /etc/horde/horde/prefs.local.php
%config /etc/apache2/vhosts.d/horde.vhost.conf.template
+%files lang -f horde.lang
+%defattr(0644,root,root,0755)
+
%changelog
++++++ horde-5.2.3.tgz -> horde-5.2.7.tgz ++++++
++++ 453006 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package midori for openSUSE:Factory checked in at 2015-09-08 17:44:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/midori (Old)
and /work/SRC/openSUSE:Factory/.midori.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "midori"
Changes:
--------
--- /work/SRC/openSUSE:Factory/midori/midori.changes 2015-04-30 11:50:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.midori.new/midori.changes 2015-09-08 18:04:52.000000000 +0200
@@ -1,0 +2,63 @@
+Fri Sep 4 08:01:18 UTC 2015 - mailaender(a)opensuse.org
+
+- Add switches for Pantheon/Elementary
+
+-------------------------------------------------------------------
+Sun Aug 30 20:34:53 UTC 2015 - lazy.kent(a)opensuse.org
+
+- Update to 0.5.11.
+ * Add fake theme for built-in icons.
+ * Don't truncate long speed dial titles if there's room to
+ display them.
+ * Fix warnings for -Wformat-security.
+ * Ensure vala knows the prototypes of functions it calls, fixing
+ pointer truncation in tests.
+ * Add unit test to check appmenu/menubar visibility.
+ * Fix last known GTK2 entry placeholder text bugs.
+ * Make sure that only one of appmenu and menubar are visible
+ *initially* as well as when changed.
+ * Move adblock icons to hicolor.
+ * Limit bookmarks panel callbacks to the lifetime of the panel to
+ fix a crash.
+ * Fix fallout (broken bookmarks and history panel search) from
+ tweaks to GTK2 entry placeholder.
+ * Fix property binding to ensure that exactly one of appmenu
+ button and menubar is always visible.
+ * Skip open-with codepath with abp links, they are internal.
+ * Use find_file to locate execinfo.h.
+ * Fix middle/ctrl/normal clicking bookmarks (not folders) in the
+ bookmarkbar.
+ * Add copright header to sanitize_bar.sh.
+ * Adblock fixup: Escape . in filter with \.
+ * Don't shadow variable uri in midori_browser_save_uri.
+ * Switch Adblock icons to 24px color.
+ * Always include app menu in toolbar.
+ * Fix various mis[sing ]annotations and style issues in GIR.
+ * Compile typelib from gir.
+ * Fix assert when resetting webapp state after inactivity reset.
+ * Clean up handling of double-valued db column in Tabby.
+ * Add a comment to explain MidoriBrowser popup callback.
+ * Fix warnings printed when right-clicking resize grip between
+ location and search entries.
+ * Fix menubar warning caused by direct cast instead of `as`.
+ * Helper script for setting up bzr with some usefull plugins and
+ settings.
+ * Stop using Gtk.Entry.max_width_chars.
+ * Avoid deprecated SoupServer API with libsoup 2.48.
+ * Use unowned in foreach loops in Midori.Window.
+ * Use unowned in foreach loops in Midori.Completion.
+ * Use unowned with Adblock.Subscription and Element in foreach
+ loops.
+ * Use unowned strings in foreach loops.
+ * Enable openWith in app mode and make it work with view-new.
+ * Implement Midori.Window class with toolbar/ headerbar.
+ * Drop support for libsoup-gnome-2.4 < 2.37.1.
+ * Make search icons for engines work correctly.
+ * Move to WebKit2 4.0 which broke ABI.
+ * Port to zeitgeist-2.0.
+ * Avoid deprecated GtkDialog API with GTK+2 >= 2.22.
+ * Title case for "Export Certificate" button.
+ * Fix incorrect type of MAX(sorting) in Tabby.
+- Disable zeitgeist support.
+
+-------------------------------------------------------------------
Old:
----
midori_0.5.10_all_.tar.bz2
New:
----
midori_0.5.11_all_.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ midori.spec ++++++
--- /var/tmp/diff_new_pack.IcTrKb/_old 2015-09-08 18:04:56.000000000 +0200
+++ /var/tmp/diff_new_pack.IcTrKb/_new 2015-09-08 18:04:56.000000000 +0200
@@ -18,7 +18,7 @@
%define major 1
Name: midori
-Version: 0.5.10
+Version: 0.5.11
Release: 0
Summary: Lightweight Webkit-based Web Browser
License: LGPL-2.1+
@@ -28,6 +28,16 @@
Source1: %{name}.1
Source99: baselibs.conf
Patch0: midori-fix-plugins.diff
+%if 0%{?with_granite}
+BuildRequires: pkgconfig(granite)
+BuildRequires: pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(javascriptcoregtk-3.0)
+BuildRequires: pkgconfig(webkitgtk-3.0)
+%else
+BuildRequires: pkgconfig(gtk+-2.0)
+BuildRequires: pkgconfig(javascriptcoregtk-1.0)
+BuildRequires: pkgconfig(webkit-1.0)
+%endif
BuildRequires: cmake
BuildRequires: docutils
BuildRequires: fdupes
@@ -39,9 +49,7 @@
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gthread-2.0)
-BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk-doc)
-BuildRequires: pkgconfig(javascriptcoregtk-1.0)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libxml-2.0)
@@ -49,10 +57,11 @@
BuildRequires: pkgconfig(unique-1.0)
# for valac
BuildRequires: pkgconfig(vapigen)
-BuildRequires: pkgconfig(webkit-1.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xscrnsaver)
-BuildRequires: pkgconfig(zeitgeist-1.0)
+%if 0%{?with_zeitgeist}
+BuildRequires: pkgconfig(zeitgeist-2.0)
+%endif
Requires: %{name}-branding = %{version}
Recommends: %{name}-lang
Recommends: ca-certificates
@@ -104,7 +113,7 @@
%lang_package
%prep
-%setup -q -c -n %{name}-%{version}
+%setup -q
%patch0 -p1
# remove parts that do not conform to the desktop file spec
@@ -127,7 +136,17 @@
%build
%cmake \
- -DUSE_APIDOCS=ON
+ -DUSE_APIDOCS=ON \
+%if 0%{?with_granite}
+ -DUSE_GRANITE=ON \
+%else
+ -DUSE_GRANITE=OFF \
+%endif
+%if 0%{?with_zeitgeist}
+ -DUSE_ZEITGEIST=ON
+%else
+ -DUSE_ZEITGEIST=OFF
+%endif
make %{?_smp_mflags} VERBOSE=1
%install
++++++ midori_0.5.10_all_.tar.bz2 -> midori_0.5.11_all_.tar.bz2 ++++++
++++ 703839 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package qmmp for openSUSE:Factory checked in at 2015-09-08 17:44:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qmmp (Old)
and /work/SRC/openSUSE:Factory/.qmmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qmmp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qmmp/qmmp.changes 2015-06-16 14:06:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qmmp.new/qmmp.changes 2015-09-08 18:04:46.000000000 +0200
@@ -1,0 +2,82 @@
+Sun Sep 6 10:32:23 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.9.1:
+ * Fix 16-bit converter.
+ * Improve Russian translation.
+- Rename & rebase qmmp-0.6.1-default_pulse.patch to
+ qmmp-default-pulse.patch.
+- Build with ffmpeg support outside PMBS as well.
+- Do not force UNIX permissions in %files globally.
+- Obsolete qmmp-plugin-pack-simple-ui as it's merged with
+ libqmmp0-plugins.
+
+-------------------------------------------------------------------
+Sat Sep 5 07:45:00 UTC 2015 - quarckster(a)gmail.com
+
+- Update to 0.9.0:
+ * added "Save List" action to the tab menu;
+ * added *.med files support;
+ * added 9 channels support to equalizer;
+ * added album artist tag support;
+ * added asynchronous sorting;
+ * added audio-channel sequence converter;
+ * added default hotkey for the "Rename List" action;
+ * added feature to change user agent;
+ * added feature to change window title;
+ * added feature to disable fadeout in the gme plugin;
+ * added feature to disable plugins without qmmp.pri modification (qmake only)
+ * added feature to exclude cue data files;
+ * added feature to hide song length;
+ * added feature to hide track length;
+ * added feature to move files;
+ * added feature to remember playlist scroll position;
+ * added feature to reset fonts;
+ * added feature to reset shortcuts;
+ * added feature to restore default shortcuts;
+ * added multiple column support;
+ * added s3m, stm and xm extensions to desktop files;
+ * added Simple User Interface (QSUI) with the following changes:
+ * added sorting by album artist;
+ * added sorting by file modification date;
+ * changed default playlist separator;
+ * changed default skin to Glare;
+ * fixed cmake support;
+ * fixed config directory path;
+ * fixed crash when quitting while playlist is being populated;
+ * fixed details dialog form;
+ * fixed documentation;
+ * fixed home page;
+ * fixed main window activation;
+ * fixed minimizing throw taskbar under windows;
+ * fixed opus plugin;
+ * fixed some skins parsing;
+ * fixed some skins support;
+ * fixed support of keyboards with single play/pause button;
+ * fixed text scroller colors;
+ * fixed typos;
+ * improved ape tags support in the mpeg plugin;
+ * improved cmake build scripts;
+ * improved fileops plugin:
+ * improved global hotkey settings;
+ * improved playlist changes notification;
+ * improved status bar;
+ * improved title formatter;
+ * increased details dialog size;
+ * optimized playlist container;
+ * optimized sample rate converter;
+ * reduced cpu usage;
+ * reworked settings dialog;
+ * updated Czech translation;
+ * updated French translation;
+ * updated German translation;
+ * updated Greek translation;
+ * updated Hebrew translation;
+ * updated Japanese translation;
+ * updated Japanese translation;
+ * updated Polish translation;
+ * updated Portuguese translation;
+ * updated Russian translation;
+ * updated Ukrainian translation;
+ * using DirectSound output as default under Windows.
+
+-------------------------------------------------------------------
Old:
----
qmmp-0.6.1-default_pulse.patch
qmmp-0.8.5.tar.bz2
New:
----
qmmp-0.9.1.tar.bz2
qmmp-default-pulse.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qmmp.spec ++++++
--- /var/tmp/diff_new_pack.Rd4OOq/_old 2015-09-08 18:04:50.000000000 +0200
+++ /var/tmp/diff_new_pack.Rd4OOq/_new 2015-09-08 18:04:50.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package qmmp
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,24 +15,23 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
+%define sover 0
%bcond_with ffmpeg
%bcond_with mad
%bcond_with faad
-
-%define soname 0
-
Name: qmmp
-Version: 0.8.5
+Version: 0.9.1
Release: 0
Summary: XMMS-like audio player
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Players
Url: http://qmmp.ylsoftware.com/
Source0: http://qmmp.ylsoftware.com/files/qmmp-%{version}.tar.bz2
-# PATCH-FEATURE-OPENSUSE qmmp-0.6.1-default_pulse.patch reddwarf(a)opensuse.org -- Use PulseAudio instead of ALSA by default
-Patch0: qmmp-0.6.1-default_pulse.patch
-# PATCH-FIX-UPSTREAM qmmp-fix_cdda_version.patch pascal.bleser(a)opensuse.org -- Fix header detection for cdparanoia cdda.h
-Patch1: qmmp-fix_cdda_version.patch
+# PATCH-FIX-UPSTREAM qmmp-fix_cdda_version.patch pascal.bleser(a)opensuse.org -- Fix header detection for cdparanoia cdda.h.
+Patch0: qmmp-fix_cdda_version.patch
+# PATCH-FEATURE-OPENSUSE qmmp-default_pulse.patch reddwarf(a)opensuse.org -- Use PulseAudio instead of ALSA by default.
+Patch1: qmmp-default-pulse.patch
BuildRequires: cmake
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
@@ -47,12 +46,9 @@
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(enca) >= 1.9
BuildRequires: pkgconfig(flac)
-BuildRequires: pkgconfig(opus) >= 1.0.2
-BuildRequires: pkgconfig(opusfile) >= 0.2
-# Standard Jack version is not new enough until openSUSE 12.1
-%if 0%{?suse_version} > 1140
-BuildRequires: pkgconfig(jack)
-%endif
+BuildRequires: pkgconfig(libavcodec)
+BuildRequires: pkgconfig(libavformat)
+BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libbs2b)
BuildRequires: pkgconfig(libcddb)
BuildRequires: pkgconfig(libcdio)
@@ -65,15 +61,19 @@
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libpulse-simple)
BuildRequires: pkgconfig(libsidplayfp)
+BuildRequires: pkgconfig(opus) >= 1.0.2
+BuildRequires: pkgconfig(opusfile) >= 0.2
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(taglib)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(wavpack)
-%if %{with ffmpeg}
-BuildRequires: pkgconfig(libavcodec)
-BuildRequires: pkgconfig(libavformat)
-BuildRequires: pkgconfig(libavutil)
+Requires: qmmp(%{sover})(Input)
+Requires: qmmp(%{sover})(Output)
+Requires: qmmp(%{sover})(Ui)
+# Standard JACK version is not new enough until openSUSE 12.1.
+%if 0%{?suse_version} > 1140
+BuildRequires: pkgconfig(jack)
%endif
%if %{with mad}
BuildRequires: pkgconfig(mad)
@@ -81,46 +81,46 @@
%if %{with faad}
BuildRequires: libfaad-devel
%endif
-Requires: qmmp(%{soname})(Input)
-Requires: qmmp(%{soname})(Output)
-Requires: qmmp(%{soname})(Ui)
%description
This program is an audio-player, written with help of Qt library. The program
has user interface, similar winamp or xmms.
-%package -n libqmmp%{soname}
+%package -n libqmmp%{sover}
Summary: Qmmp library
Group: System/Libraries
-Recommends: libqmmp%{soname}-plugins
+Recommends: libqmmp%{sover}-plugins
-%description -n libqmmp%{soname}
+%description -n libqmmp%{sover}
Qmmp library.
-%package -n libqmmp%{soname}-plugins
+%package -n libqmmp%{sover}-plugins
Summary: Plugins for libqmmp
Group: System/Libraries
-Provides: qmmp(%{soname})(Input)
-Provides: qmmp(%{soname})(Output)
-Provides: qmmp(%{soname})(Ui)
-# Suggests instead of Recommends since MPlayer is a too big dependency
-Suggests: libqmmp%{soname}-plugin-mplayer
+# Suggests instead of Recommends since MPlayer is a too big dependency.
+Suggests: libqmmp%{sover}-plugin-mplayer
+# qmmp-plugin-pack-simple-ui was last used in openSUSE 13.2 (in PMBS).
+Obsoletes: qmmp-plugin-pack-simple-ui < {version}
+Provides: qmmp-plugin-pack-simple-ui = %{version}
+Provides: qmmp(%{sover})(Input)
+Provides: qmmp(%{sover})(Output)
+Provides: qmmp(%{sover})(Ui)
-%description -n libqmmp%{soname}-plugins
+%description -n libqmmp%{sover}-plugins
Plugins for libqmmp.
-%package -n libqmmp%{soname}-plugin-mplayer
+%package -n libqmmp%{sover}-plugin-mplayer
Summary: MPlayer plugin for libqmmp
Group: System/Libraries
Requires: %{_bindir}/mplayer
-%description -n libqmmp%{soname}-plugin-mplayer
+%description -n libqmmp%{sover}-plugin-mplayer
MPlayer plugin for libqmmp.
%package -n libqmmp-devel
Summary: Development files for libqmmp
Group: Development/Libraries/C and C++
-Requires: libqmmp%{soname} = %{version}
+Requires: libqmmp%{sover} = %{version}
%description -n libqmmp-devel
Development files for libqmmp.
@@ -128,27 +128,28 @@
%prep
%setup -q
%patch0
-%patch1
+%patch1 -p1
%build
mkdir build
-cd build
-export CFLAGS='%{optflags}'
-export CXXFLAGS='%{optflags}'
-cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DLIB_DIR=%{_lib} \
+pushd build
+export CFLAGS="%{optflags}"
+export CXXFLAGS="%{optflags}"
+cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_VERBOSE_MAKEFILE=TRUE \
+ -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \
+ -DLIB_DIR=%{_lib} \
-DUSE_HAL=FALSE \
-DUSE_OSS=FALSE \
-DUSE_OSS4=FALSE \
..
make %{?_smp_mflags}
+popd
%install
-cd build
-%make_install
+%make_install -C build
%post
%icon_theme_cache_post
@@ -158,45 +159,46 @@
%desktop_database_postun
%icon_theme_cache_postun
-%post -n libqmmp%{soname} -p /sbin/ldconfig
+%post -n libqmmp%{sover} -p /sbin/ldconfig
-%postun -n libqmmp%{soname} -p /sbin/ldconfig
+%postun -n libqmmp%{sover} -p /sbin/ldconfig
-%post -n libqmmp%{soname}-plugins
+%post -n libqmmp%{sover}-plugins
%desktop_database_post
-%postun -n libqmmp%{soname}-plugins
+%postun -n libqmmp%{sover}-plugins
%desktop_database_postun
%files
-%defattr(0644,root,root,0755)
+%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README
-%attr(0755,root,root) %{_bindir}/qmmp
-%{_datadir}/qmmp
+%{_bindir}/qmmp
+%{_datadir}/qmmp/
%{_datadir}/applications/qmmp.desktop
%{_datadir}/applications/qmmp_enqueue.desktop
%{_datadir}/applications/qmmp_dir.desktop
%{_datadir}/icons/hicolor/*/apps/qmmp*
-%files -n libqmmp%{soname}
-%defattr(0644,root,root,0755)
-%{_libdir}/libqmmp.so.%{soname}*
-%{_libdir}/libqmmpui.so.%{soname}*
-
-%files -n libqmmp%{soname}-plugins
-%defattr(0644,root,root,0755)
-%{_libdir}/qmmp
+%files -n libqmmp%{sover}
+%defattr(-,root,root)
+%{_libdir}/libqmmp.so.%{sover}*
+%{_libdir}/libqmmpui.so.%{sover}*
+
+%files -n libqmmp%{sover}-plugins
+%defattr(-,root,root)
+%{_libdir}/qmmp/
%exclude %{_libdir}/qmmp/Engines/libmplayer.so
-%{_datadir}/applications/qmmp_cue.desktop
-%files -n libqmmp%{soname}-plugin-mplayer
-%defattr(0644,root,root,0755)
+%files -n libqmmp%{sover}-plugin-mplayer
+%defattr(-,root,root)
+%dir %{_libdir}/qmmp/
+%dir %{_libdir}/qmmp/Engines/
%{_libdir}/qmmp/Engines/libmplayer.so
%files -n libqmmp-devel
-%defattr(0644,root,root,0755)
-%{_includedir}/qmmp
-%{_includedir}/qmmpui
+%defattr(-,root,root)
+%{_includedir}/qmmp/
+%{_includedir}/qmmpui/
%{_libdir}/libqmmp.so
%{_libdir}/libqmmpui.so
%{_libdir}/pkgconfig/qmmp.pc
++++++ qmmp-0.8.5.tar.bz2 -> qmmp-0.9.1.tar.bz2 ++++++
++++ 192518 lines of diff (skipped)
++++++ qmmp-default-pulse.patch ++++++
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -144,7 +144,7 @@ OutputFactory *Output::currentFactory()
loadPlugins();
QSettings settings (Qmmp::configFile(), QSettings::IniFormat);
#ifdef Q_OS_LINUX
- QString name = settings.value("Output/current_plugin", "alsa").toString();
+ QString name = settings.value("Output/current_plugin", "pulse").toString();
#elif defined Q_WS_WIN
QString name = settings.value("Output/current_plugin", "directsound").toString();
#else
1
0