openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
April 2011
- 1 participants
- 640 discussions
Hello community,
here is the log from the commit of package squid3 for openSUSE:Factory
checked in at Wed Apr 27 10:58:46 CEST 2011.
--------
--- squid3/squid3.changes 2011-04-12 15:12:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/squid3/squid3.changes 2011-04-21 18:08:47.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Apr 21 16:05:07 UTC 2011 - chris(a)computersalat.de
+
+- mv RPM_BUILD_ROOT to {buildroot}
+- fdupes only on {buildroot}{_prefix}
+ o no symlinks on config files ;)
+ hence configs won't be overwritten on update
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ squid3.spec ++++++
--- /var/tmp/diff_new_pack.vuecCN/_old 2011-04-27 10:47:17.000000000 +0200
+++ /var/tmp/diff_new_pack.vuecCN/_new 2011-04-27 10:47:17.000000000 +0200
@@ -22,7 +22,7 @@
Name: squid3
Summary: Squid Version 3 WWW Proxy Server
Version: 3.1.12
-Release: 3
+Release: 5
License: GPLv2+
Group: Productivity/Networking/Web/Proxy
AutoReqProv: on
@@ -198,39 +198,39 @@
%install
/usr/sbin/useradd -r -o -g nogroup -u 31 -s /bin/false -c "WWW-proxy squid" \
-d /var/cache/squid squid 2> /dev/null || :
-mkdir -p $RPM_BUILD_ROOT/var/{cache,log}/squid
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-make install DESTDIR=$RPM_BUILD_ROOT SAMBAPREFIX=/usr
-mv $RPM_BUILD_ROOT{/etc/squid/,/usr/share/squid/}mime.conf.default
-ln -s /etc/squid/mime.conf $RPM_BUILD_ROOT/usr/share/squid # backward compatible
-install -d -m 755 $RPM_BUILD_ROOT/etc/permissions.d
-install -m 644 %{SOURCE9} $RPM_BUILD_ROOT/etc/permissions.d/squid
-install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d
-install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/squid
+mkdir -p %{buildroot}/var/{cache,log}/squid
+mkdir -p %{buildroot}/usr/sbin
+make install DESTDIR=%{buildroot} SAMBAPREFIX=/usr
+mv %{buildroot}{/etc/squid/,/usr/share/squid/}mime.conf.default
+ln -s /etc/squid/mime.conf %{buildroot}/usr/share/squid # backward compatible
+install -d -m 755 %{buildroot}/etc/permissions.d
+install -m 644 %{S:9} %{buildroot}/etc/permissions.d/squid
+install -d -m 755 %{buildroot}/etc/logrotate.d
+install -m 644 %{S:7} %{buildroot}/etc/logrotate.d/squid
install -d %{buildroot}%{_mandir}/man8/
-#chown squid:root -R $RPM_BUILD_ROOT/var/{cache,log}/squid
-chmod 750 $RPM_BUILD_ROOT/var/{cache,log}/squid
-install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d/squid
-ln -sf /etc/init.d/squid $RPM_BUILD_ROOT/usr/sbin/rcsquid
-mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 doc/squid.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/PAM/pam_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/external_acl/ldap_group/squid_ldap_group.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-gzip -9 $RPM_BUILD_ROOT/%{_mandir}/man8/*.8
+#chown squid:root -R %{buildroot}/var/{cache,log}/squid
+chmod 750 %{buildroot}/var/{cache,log}/squid
+install -D %{S:2} %{buildroot}/etc/init.d/squid
+ln -sf /etc/init.d/squid %{buildroot}/usr/sbin/rcsquid
+mkdir -p %{buildroot}/%{_mandir}/man8/
+install -m 644 doc/squid.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/PAM/pam_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/external_acl/ldap_group/squid_ldap_group.8 %{buildroot}/%{_mandir}/man8/
+gzip -9 %{buildroot}/%{_mandir}/man8/*.8
install -d -m 755 doc/scripts
install scripts/*.pl doc/scripts
cat > doc/scripts/cachemgr.readme <<-EOT
cachemgr.cgi will now be found in %{_libdir}/squid
EOT
-install -d -m 755 $RPM_BUILD_ROOT/%{_libdir}/squid
-mv $RPM_BUILD_ROOT/usr/sbin/cachemgr.cgi $RPM_BUILD_ROOT/%{_libdir}/squid
+install -d -m 755 %{buildroot}/%{_libdir}/squid
+mv %{buildroot}/usr/sbin/cachemgr.cgi %{buildroot}/%{_libdir}/squid
install -d -m 755 doc/contrib
-install %{SOURCE6} doc/contrib
-install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/squid
-#chown squid:shadow $RPM_BUILD_ROOT/usr/sbin/pam_auth
-chmod g+s $RPM_BUILD_ROOT/usr/sbin/pam_auth
+install %{S:6} doc/contrib
+install -D -m 644 %{S:5} %{buildroot}/etc/pam.d/squid
+#chown squid:shadow %{buildroot}/usr/sbin/pam_auth
+chmod g+s %{buildroot}/usr/sbin/pam_auth
#rm %{buildroot}/usr/sbin/Run*
rm -rf %{buildroot}%{squidconfdir}/errors
for i in errors/*; do
@@ -239,17 +239,18 @@
install -m 644 $i/* %{buildroot}/usr/share/squid/$i
fi
done
-ln -fs /usr/share/squid/errors/de %{buildroot}%{squidconfdir}/errors
-install -d -m 755 $RPM_BUILD_ROOT/var/adm/fillup-templates
-install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.squid
+ln -sf /usr/share/squid/errors/de %{buildroot}%{squidconfdir}/errors
+install -d -m 755 %{buildroot}/var/adm/fillup-templates
+install -m 644 %{S:10} %{buildroot}/var/adm/fillup-templates/sysconfig.squid
# remove unpackaged files
-rm -f $RPM_BUILD_ROOT/usr/man/man8/*.8
+rm -f %{buildroot}/usr/man/man8/*.8
+
# fix file duplicates
%if 0%{?suse_version} > 1030
-%fdupes -s $RPM_BUILD_ROOT
+%fdupes -s %{buildroot}%{_prefix}
%endif
%if 0%{?fedora_version} > 8
-fdupes -q -n -r $RPM_BUILD_ROOT
+fdupes -q -n -r %{buildroot}%{_prefix}
%endif
%pre
@@ -259,7 +260,7 @@
%{_sbindir}/groupadd -r winbind 2>/dev/null
fi
if [ -z "`%{_bindir}/getent passwd squid 2>/dev/null`" ]; then
-/usr/sbin/useradd -c "WWW-proxy squid" -d /var/cache/squid \
+ %{_sbindir}/useradd -c "WWW-proxy squid" -d /var/cache/squid \
-G winbind -g nogroup -o -u 31 -r -s /bin/false \
squid 2>/dev/null
fi
@@ -292,7 +293,7 @@
%verify_permissions -e /usr/sbin/pam_auth
%clean
-%{__rm} -rf $RPM_BUILD_ROOT
+%{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package texworks for openSUSE:Factory
checked in at Wed Apr 27 10:47:04 CEST 2011.
--------
--- texworks/texworks.changes 2011-03-21 20:12:12.000000000 +0100
+++ /mounts/work_src_done/STABLE/texworks/texworks.changes 2011-04-19 21:23:24.000000000 +0200
@@ -1,0 +2,14 @@
+Tue Apr 19 19:26:10 UTC 2011 - badshah400(a)gmail.com
+
+- Correct pkgconfig dependency for lua plugin package
+
+-------------------------------------------------------------------
+Sat Apr 16 09:14:15 UTC 2011 - badshah400(a)gmail.com
+
+- Split out python scripting and lua scripting plugins in
+ respective subpackages
+- Correctly point to myspell dictionaries, this enables the
+ dictionaries in texworks' spell-checker (thanks to Mike)
+- Install the user-manual (thanks to Mike)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texworks.spec ++++++
--- /var/tmp/diff_new_pack.h9fv3V/_old 2011-04-27 10:45:18.000000000 +0200
+++ /var/tmp/diff_new_pack.h9fv3V/_new 2011-04-27 10:45:18.000000000 +0200
@@ -20,7 +20,7 @@
Name: texworks
Version: 0.4.0
-Release: 1
+Release: 2
License: GPLv2+
Summary: TeXshop-like TeX Editor
Url: http://www.tug.org/texworks/
@@ -33,6 +33,8 @@
BuildRequires: libpoppler-qt4-devel
BuildRequires: libqt4-devel
BuildRequires: update-desktop-files
+BuildRequires: python-devel
+BuildRequires: lua-devel
Requires: dbus-1
Requires: hunspell
Requires: poppler-tools
@@ -48,16 +50,85 @@
TeXShop for Mac OS X, which is credited with a resurgence of TeX
usage on the Mac platform.
+%package plugin-python
+License: GPLv2+
+Summary: Plugins to add python scripting to texworks
+Group: Development/Libraries/Python
+Requires: python
+Requires: %{name} = %{version}
+
+%description plugin-python
+The TeXworks project is an effort to build a simple TeX front-end
+program (working environment) that will be available for all today’s
+major desktop operating systems—in particular, MS Windows (XP and
+Vista), typical GNU/Linux distros and other X11-based systems, and
+Mac OS X. It is deliberately modeled on Dick Koch’s award-winning
+TeXShop for Mac OS X, which is credited with a resurgence of TeX
+usage on the Mac platform.
+
+This package adds python scripting abitilies to TeXworks.
+
+%package plugin-lua
+License: GPLv2+
+Summary: Plugins to add python scripting to texworks
+Group: Development/Libraries/Other
+Requires: lua
+Requires: %{name} = %{version}
+
+%description plugin-lua
+The TeXworks project is an effort to build a simple TeX front-end
+program (working environment) that will be available for all today’s
+major desktop operating systems—in particular, MS Windows (XP and
+Vista), typical GNU/Linux distros and other X11-based systems, and
+Mac OS X. It is deliberately modeled on Dick Koch’s award-winning
+TeXShop for Mac OS X, which is credited with a resurgence of TeX
+usage on the Mac platform.
+
+This package adds lua scripting abitilies to TeXworks.
+
%prep
%setup -q -n texworks-%{version}
%build
-qmake -unix 'INSTALL_PREFIX=%{_prefix}' TeXworks.pro
+
+#Python plugin
+pushd plugins-src/TWPythonPlugin/
+sed -i 's:/usr/local/lib:%{_libdir}:' TWPythonPlugin.pro
+qmake -after \
+ 'INCLUDEPATH -= /usr/include/python2.6/' \
+ 'INCLUDEPATH += %{_includedir}/python%{py_ver}/' \
+ 'LIBS -= -lpython2.6' \
+ 'LIBS += -lpython%{py_ver}'
+popd
+
+#Lua plugin
+pushd plugins-src/TWLuaPlugin/
+sed -i 's:/usr/local/lib:%{_libdir}:' TWLuaPlugin.pro
+qmake -after \
+ 'PKGCONFIG -= lua5.1' \
+ 'PKGCONFIG += lua'
+popd
+
+#Main package
+qmake INSTALL_PREFIX=%{_prefix} DOCS_DIR=%{_docdir}/%{name} \
+ -after \
+ 'QMAKE_CXXFLAGS -= -DTW_BUILD_ID=personal -DTW_HELPPATH=\\\"/usr/local/share/texworks-help\\\" -DTW_PLUGINPATH=\\\"/usr/local/lib/texworks\\\" -DTW_DICPATH=\\\"/usr/share/myspell/dicts\\\"' \
+ 'QMAKE_CXXFLAGS += -DTW_BUILD_ID=openSUSE -DTW_HELPPATH=\\\"%{_docdir}/%{name}/manual\\\" -DTW_PLUGINPATH=\\\"%{_libdir}/%{name}\\\" -DTW_DICPATH=\\\"%{_datadir}/myspell\\\"'
%install
+#Python plugin
+pushd plugins-src/TWPythonPlugin/
+make INSTALL_ROOT=%{buildroot} install
+popd
+
+#Lua plugin
+pushd plugins-src/TWLuaPlugin/
+make INSTALL_ROOT=%{buildroot} install
+popd
+
+#Main package
make INSTALL_ROOT=%{buildroot} install
%suse_update_desktop_file texworks Publishing WordProcessor
-rm -rf %{buildroot}%{_datadir}/doc/texworks
%clean
rm -rf %{buildroot}
@@ -78,10 +149,20 @@
%files
%defattr(-,root,root)
-%doc COPYING README
+%doc COPYING README NEWS manual/
%{_bindir}/texworks
%{_datadir}/applications/texworks.desktop
%{_datadir}/pixmaps/*.png
%{_mandir}/man1/texworks.1.*
+%files plugin-python
+%defattr(-,root,root)
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*PythonPlugin.so
+
+%files plugin-lua
+%defattr(-,root,root)
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*LuaPlugin.so
+
%changelog
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package vm-install for openSUSE:Factory
checked in at Wed Apr 27 10:45:04 CEST 2011.
--------
--- vm-install/vm-install.changes 2011-03-04 16:48:44.000000000 +0100
+++ /mounts/work_src_done/STABLE/vm-install/vm-install.changes 2011-04-26 22:41:51.000000000 +0200
@@ -1,0 +2,59 @@
+Tue Apr 26 14:34:15 MDT 2011 - carnold(a)novell.com
+
+- bnc#391188 - vm-install: Create virtual machine- link for VM
+ information not working
+
+-------------------------------------------------------------------
+Mon Apr 25 08:46:02 MDT 2011 - carnold(a)novell.com
+
+- bnc#688757 - SLED10SP4 fully virtualized in SLES10SP4 XEN -
+ kernel panic (also fails as a guest on sles11sp1)
+
+-------------------------------------------------------------------
+Wed Apr 20 14:57:43 MDT 2011 - carnold(a)novell.com
+
+- Modified summary screen to be more descriptive of current vm
+ settings
+
+-------------------------------------------------------------------
+Tue Apr 12 15:17:41 MDT 2011 - carnold(a)novell.com
+
+- Add KVM only 'Cache Mode' to the GUI.
+
+-------------------------------------------------------------------
+Wed Apr 6 10:54:22 MDT 2011 - carnold(a)novell.com
+
+- Upgrade the version strings to 0.5.1
+
+-------------------------------------------------------------------
+Thu Mar 31 14:05:10 MDT 2011 - carnold(a)novell.com
+
+- fate##311393 - Enable audio device selection during HVM guest
+ installation
+
+-------------------------------------------------------------------
+Mon Mar 17 17:19:52 MDT 2011 - carnold(a)novell.com
+
+- Fate#311004: Support Direct Kernel Booting in KVM
+ This allows autoyast files and other boot options to be passed
+ at install time. Network installs over ftp, http, or nfs can
+ also be done similar to Xen paravirtualized guests.
+
+-------------------------------------------------------------------
+Thu Mar 17 13:48:13 MDT 2011 - carnold(a)novell.com
+
+- bnc#678152 - Xen: virt-manager: harmless block device admin
+ actions on FV guests mess up network (VIF) device
+ type ==> network lost.
+
+-------------------------------------------------------------------
+Thu Mar 17 11:37:05 MDT 2011 - carnold(a)novell.com
+
+- Show RHEL6 on the 'Type of Operating System' screen.
+
+-------------------------------------------------------------------
+Mon Mar 7 15:14:52 MST 2011 - carnold(a)novell.com
+
+- bnc#677557 - Can't install openSUSE 11.4 as a guest on XEN
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
vm-install-0.4.28.tar.bz2
New:
----
vm-install-0.5.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vm-install.spec ++++++
--- /var/tmp/diff_new_pack.cAxUAF/_old 2011-04-27 10:44:27.000000000 +0200
+++ /var/tmp/diff_new_pack.cAxUAF/_new 2011-04-27 10:44:27.000000000 +0200
@@ -26,10 +26,10 @@
License: GPLv2+
Group: System/Emulators/PC
AutoReqProv: yes
-Version: 0.4.28
-Release: 14
+Version: 0.5.2
+Release: 1
Summary: Tool to Define a Virtual Machine and Install Its Operating System
-Source0: %{name}-0.4.28.tar.bz2
+Source0: %{name}-0.5.2.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
Requires: libvirt python-urlgrabber libxml2-python libvirt-python virt-utils udhcp tftp
++++++ vm-install-0.4.28.tar.bz2 -> vm-install-0.5.2.tar.bz2 ++++++
++++ 3480 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package icewm for openSUSE:Factory
checked in at Wed Apr 27 10:30:35 CEST 2011.
--------
--- icewm/icewm.changes 2010-09-08 03:08:55.000000000 +0200
+++ /mounts/work_src_done/STABLE/icewm/icewm.changes 2011-04-26 13:04:07.000000000 +0200
@@ -1,0 +2,19 @@
+Tue Apr 26 11:02:56 UTC 2011 - mmarek(a)novell.com
+
+- Change the command to apply icewm-preferences.patch to make
+ automatic checks happy.
+
+-------------------------------------------------------------------
+Mon Mar 21 10:58:16 UTC 2011 - mmarek(a)novell.com
+
+- Fix shutdown and reboot (bnc#681126).
+
+-------------------------------------------------------------------
+Mon Mar 21 10:46:09 UTC 2011 - mmarek(a)novell.com
+
+- Update to 1.3.7:
+ * battery status as graphics not text (Alexander Drozdov)
+ * 'icewm-set-gnomewm' script to set GNOME window manager to icewm
+ * bugfixes
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
icewm-1.3.6.tar.bz2
New:
----
icewm-1.3.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icewm.spec ++++++
--- /var/tmp/diff_new_pack.t263Zl/_old 2011-04-27 10:25:19.000000000 +0200
+++ /var/tmp/diff_new_pack.t263Zl/_new 2011-04-27 10:25:19.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package icewm (Version 1.3.6)
+# spec file for package icewm
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -31,8 +31,8 @@
Provides: windowmanager
Requires: icewm-bin, xdg-menu, desktop-data
AutoReqProv: on
-Version: 1.3.6
-Release: 8
+Version: 1.3.7
+Release: 1
Source: icewm-%version.tar.bz2
Source1: %{name}.desktop
Patch1: icewm-multiByte.patch
@@ -135,7 +135,8 @@
--with-imlib \
--enable-menus-gnome2
make %{?jobs:-j%jobs}
-patch -p0 -i %_sourcedir/icewm-preferences.patch
+# patch generated lib/preferences file
+patch -p0 -i %{P:99}
%install
make DESTDIR=$RPM_BUILD_ROOT install install-docs
@@ -178,5 +179,6 @@
%defattr(-,root,root)
/usr/bin/icesound
/usr/bin/icewm-menu-gnome2
+/usr/bin/icewm-set-gnomewm
%changelog
++++++ icewm-1.3.6.tar.bz2 -> icewm-1.3.7.tar.bz2 ++++++
++++ 16373 lines of diff (skipped)
++++++ icewm-preferences.patch ++++++
--- /var/tmp/diff_new_pack.t263Zl/_old 2011-04-27 10:25:19.000000000 +0200
+++ /var/tmp/diff_new_pack.t263Zl/_new 2011-04-27 10:25:19.000000000 +0200
@@ -19,7 +19,7 @@
--- lib/preferences.orig
+++ lib/preferences
-@@ -464,7 +464,7 @@
+@@ -509,7 +509,7 @@
# NewMailCommand=""
# Command to lock display/screensaver
@@ -28,20 +28,20 @@
# Command to run on clock
# ClockCommand="xclock -name icewm -title Clock"
-@@ -488,10 +488,10 @@
+@@ -533,10 +533,10 @@
# LogoutCancelCommand=""
# Command to shutdown the system
-# ShutdownCommand=""
-+ShutdownCommand="dbus-send --system --dest=org.freedesktop.Hal --type=method_call --print-reply /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown"
++ShutdownCommand="dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop"
# Command to reboot the system
-# RebootCommand=""
-+RebootCommand="dbus-send --system --dest=org.freedesktop.Hal --type=method_call --print-reply /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot"
++RebootCommand="dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart"
# Command to run on CPU status
# CPUStatusCommand="xterm -name top -title Process\ Status -e top"
-@@ -1223,19 +1223,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
+@@ -1280,19 +1280,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
#
# Display desktop background centered and not tiled
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdepim4-runtime for openSUSE:Factory
checked in at Wed Apr 27 10:25:03 CEST 2011.
--------
--- KDE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-09 20:35:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-21 22:21:57.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 21 20:22:40 UTC 2011 - javier(a)opensuse.org
+
+- Update to 4.4.11.1
+ * Bugfixes over 4.4.10
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
kdepim-runtime-4.4.10.tar.bz2
New:
----
kdepim-runtime-4.4.11.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim4-runtime.spec ++++++
--- /var/tmp/diff_new_pack.kJnutf/_old 2011-04-27 10:13:30.000000000 +0200
+++ /var/tmp/diff_new_pack.kJnutf/_new 2011-04-27 10:13:30.000000000 +0200
@@ -26,8 +26,8 @@
Group: System/GUI/KDE
Summary: Base package of kdepim
Url: http://www.kde.org
-Version: 4.4.10
-Release: 7
+Version: 4.4.11.1
+Release: 1
Source0: kdepim-runtime-%version.tar.bz2
Patch: 4_4_BRANCH.diff
Patch6: disable-knut.diff
++++++ kdepim-runtime-4.4.10.tar.bz2 -> kdepim-runtime-4.4.11.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/.krazy new/kdepim-runtime-4.4.11.1/.krazy
--- old/kdepim-runtime-4.4.10/.krazy 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/.krazy 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,3 @@
+SKIP /libkdepim-copy/\|/resources/openchange/
+EXTRA defines,kdebug,null,qenums,tipsandthis
+STRICT super
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt
--- old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200
@@ -19,5 +19,14 @@
${KDEPIMLIBS_KCAL_LIBS}
)
+## Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=596908
+## We've not seen the reported issue, but it's better to have patches upstream,
+## so we take it in.
+# akonadi_nepomuk_calendar_feeder_automoc depend on the presence of the
+# ontology class headers. We can be sure that they are present when niefast
+# target is built. This is needed to avoid a race condition when building in
+# parallel.
+add_dependencies( akonadi_nepomuk_calendar_feeder_automoc niefast )
+
install(TARGETS akonadi_nepomuk_calendar_feeder ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents")
+install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents")
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt
--- old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200
@@ -22,6 +22,13 @@
target_link_libraries(akonadi_serializer_kcal ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCAL_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
install(TARGETS akonadi_serializer_kcal DESTINATION ${PLUGIN_INSTALL_DIR})
+if(KDEPIMLIBS_KCALCORE_LIBS)
+ set(akonadi_serializer_kcalcore_SRCS akonadi_serializer_kcalcore.cpp)
+ kde4_add_plugin(akonadi_serializer_kcalcore ${akonadi_serializer_kcalcore_SRCS})
+ target_link_libraries(akonadi_serializer_kcalcore ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
+ install(TARGETS akonadi_serializer_kcalcore DESTINATION ${PLUGIN_INSTALL_DIR})
+endif()
+
set(akonadi_serializer_bookmark_SRCS akonadi_serializer_bookmark.cpp)
kde4_add_plugin(akonadi_serializer_bookmark ${akonadi_serializer_bookmark_SRCS})
target_link_libraries(akonadi_serializer_bookmark ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
@@ -43,6 +50,7 @@
akonadi_serializer_addressee.desktop
akonadi_serializer_mail.desktop
akonadi_serializer_kcal.desktop
+ akonadi_serializer_kcalcore.desktop
akonadi_serializer_bookmark.desktop
akonadi_serializer_contactgroup.desktop
akonadi_serializer_microblog.desktop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,312 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause(a)kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This 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 Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#include "akonadi_serializer_kcalcore.h"
+
+#include <akonadi/abstractdifferencesreporter.h>
+#include <akonadi/item.h>
+#include <akonadi/collection.h>
+
+#include <KCalCore/Event>
+#include <KCalCore/Todo>
+
+#include <KCalUtils/Stringify>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kdeversion.h>
+
+#include <QtCore/qplugin.h>
+
+using namespace KCalCore;
+using namespace KCalUtils;
+using namespace Akonadi;
+using namespace AkonadiFuture;
+
+//// ItemSerializerPlugin interface
+
+bool SerializerPluginKCalCore::deserialize(Item & item, const QByteArray & label, QIODevice & data, int version)
+{
+ Q_UNUSED( version );
+
+ if ( label != Item::FullPayload ) {
+ return false;
+ }
+
+ Incidence::Ptr i = mFormat.fromString( QString::fromUtf8( data.readAll() ) );
+ if ( !i ) {
+ kWarning( 5263 ) << "Failed to parse incidence! Item id = " << item.id()
+ << "Storage collection id " << item.storageCollectionId()
+ << "parentCollectionId = " << item.parentCollection().id();
+ data.seek( 0 );
+ kWarning( 5263 ) << QString::fromUtf8( data.readAll() );
+ return false;
+ }
+ item.setPayload( i );
+ return true;
+}
+
+void SerializerPluginKCalCore::serialize(const Item & item, const QByteArray & label, QIODevice & data, int &version)
+{
+ Q_UNUSED( version );
+
+ if ( label != Item::FullPayload || !item.hasPayload<Incidence::Ptr>() )
+ return;
+ Incidence::Ptr i = item.payload<Incidence::Ptr>();
+ // ### I guess this can be done without hardcoding stuff
+ data.write( "BEGIN:VCALENDAR\nPRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN\nVERSION:2.0\n" );
+#if KDE_IS_VERSION( 4, 6, 40 )
+ data.write( mFormat.toRawString( i ) );
+#else
+ data.write( mFormat.toString( i ).toUtf8() );
+#endif
+ data.write( "\nEND:VCALENDAR" );
+}
+
+//// DifferencesAlgorithmInterface
+
+static bool compareString( const QString &left, const QString &right )
+{
+ if ( left.isEmpty() && right.isEmpty() )
+ return true;
+ else
+ return left == right;
+}
+
+static QString toString( const Attendee::Ptr &attendee )
+{
+ return attendee->name() + QLatin1Char( '<' ) + attendee->email() + QLatin1Char( '>' );
+}
+
+static QString toString( const Alarm::Ptr & )
+{
+ return QString();
+}
+
+/*
+static QString toString( const Incidence::Ptr & )
+{
+ return QString();
+}
+*/
+
+static QString toString( const Attachment::Ptr & )
+{
+ return QString();
+}
+
+static QString toString( const QDate &date )
+{
+ return date.toString();
+}
+
+static QString toString( const KDateTime &dateTime )
+{
+ return dateTime.dateTime().toString();
+}
+
+static QString toString( const QString &str )
+{
+ return str;
+}
+
+static QString toString( bool value )
+{
+ if ( value )
+ return i18n( "Yes" );
+ else
+ return i18n( "No" );
+}
+
+template <class C>
+static void compareList( AbstractDifferencesReporter *reporter,
+ const QString &id,
+ const C &left,
+ const C &right )
+{
+ for ( typename C::const_iterator it = left.begin(), end = left.end() ; it != end ; ++it ) {
+ if ( !right.contains( *it ) )
+ reporter->addProperty( AbstractDifferencesReporter::AdditionalLeftMode, id, toString( *it ), QString() );
+ }
+
+ for ( typename C::const_iterator it = right.begin(), end = right.end() ; it != end ; ++it ) {
+ if ( !left.contains( *it ) )
+ reporter->addProperty( AbstractDifferencesReporter::AdditionalRightMode, id, QString(), toString( *it ) );
+ }
+}
+
+static void compareIncidenceBase( AbstractDifferencesReporter *reporter,
+ const IncidenceBase::Ptr &left,
+ const IncidenceBase::Ptr &right )
+{
+ compareList( reporter, i18n( "Attendees" ), left->attendees(), right->attendees() );
+
+ if ( !compareString( left->organizer()->fullName(), right->organizer()->fullName() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Organizer" ),
+ left->organizer()->fullName(), right->organizer()->fullName() );
+
+ if ( !compareString( left->uid(), right->uid() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "UID" ),
+ left->uid(), right->uid() );
+
+ if ( left->allDay() != right->allDay() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Is all-day" ),
+ toString( left->allDay() ), toString( right->allDay() ) );
+
+ if ( left->hasDuration() != right->hasDuration() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has duration" ),
+ toString( left->hasDuration() ), toString( right->hasDuration() ) );
+
+ if ( left->duration() != right->duration() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Duration" ),
+ QString::number( left->duration().asSeconds() ), QString::number( right->duration().asSeconds() ) );
+}
+
+static void compareIncidence( AbstractDifferencesReporter *reporter,
+ const Incidence::Ptr &left,
+ const Incidence::Ptr &right )
+{
+ if ( !compareString( left->description(), right->description() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Description" ),
+ left->description(), right->description() );
+
+ if ( !compareString( left->summary(), right->summary() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Summary" ),
+ left->summary(), right->summary() );
+
+ if ( left->status() != right->status() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Status" ),
+ Stringify::incidenceStatus( left ), Stringify::incidenceStatus( right ) );
+
+ if ( left->secrecy() != right->secrecy() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Secrecy" ),
+ toString( left->secrecy() ), toString( right->secrecy() ) );
+
+ if ( left->priority() != right->priority() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Priority" ),
+ toString( left->priority() ), toString( right->priority() ) );
+
+ if ( !compareString( left->location(), right->location() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Location" ),
+ left->location(), right->location() );
+
+ compareList( reporter, i18n( "Categories" ), left->categories(), right->categories() );
+ compareList( reporter, i18n( "Alarms" ), left->alarms(), right->alarms() );
+ compareList( reporter, i18n( "Resources" ), left->resources(), right->resources() );
+ compareList( reporter, i18n( "Attachments" ), left->attachments(), right->attachments() );
+ compareList( reporter, i18n( "Exception Dates" ), left->recurrence()->exDates(), right->recurrence()->exDates() );
+ compareList( reporter, i18n( "Exception Times" ), left->recurrence()->exDateTimes(), right->recurrence()->exDateTimes() );
+ // TODO: recurrence dates and date/times, exrules, rrules
+
+ if ( left->created() != right->created() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode,
+ i18n( "Created" ), left->created().toString(), right->created().toString() );
+
+ if ( !compareString( left->relatedTo(), right->relatedTo() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode,
+ i18n( "Related Uid" ), left->relatedTo(), right->relatedTo() );
+}
+
+static void compareEvent( AbstractDifferencesReporter *reporter,
+ const Event::Ptr &left,
+ const Event::Ptr &right )
+{
+
+ if ( left->dtStart() != right->dtStart() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Start time" ),
+ left->dtStart().toString(), right->dtStart().toString() );
+
+ if ( left->hasEndDate() != right->hasEndDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has End Date" ),
+ toString( left->hasEndDate() ), toString( right->hasEndDate() ) );
+
+ if ( left->dtEnd() != right->dtEnd() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "End Date" ),
+ left->dtEnd().toString(), right->dtEnd().toString() );
+
+ // TODO: check transparency
+}
+
+static void compareTodo( AbstractDifferencesReporter *reporter,
+ const Todo::Ptr &left,
+ const Todo::Ptr &right )
+{
+ if ( left->hasStartDate() != right->hasStartDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Start Date" ),
+ toString( left->hasStartDate() ), toString( right->hasStartDate() ) );
+
+ if ( left->hasDueDate() != right->hasDueDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Due Date" ),
+ toString( left->hasDueDate() ), toString( right->hasDueDate() ) );
+
+ if ( left->dtDue() != right->dtDue() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Due Date" ),
+ left->dtDue().toString(), right->dtDue().toString() );
+
+ if ( left->hasCompletedDate() != right->hasCompletedDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Complete Date" ),
+ toString( left->hasCompletedDate() ), toString( right->hasCompletedDate() ) );
+
+ if ( left->percentComplete() != right->percentComplete() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Complete" ),
+ QString::number( left->percentComplete() ), QString::number( right->percentComplete() ) );
+
+ if ( left->completed() != right->completed() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Completed" ),
+ toString( left->completed() ), toString( right->completed() ) );
+}
+
+void SerializerPluginKCalCore::compare( Akonadi::AbstractDifferencesReporter *reporter,
+ const Akonadi::Item &leftItem,
+ const Akonadi::Item &rightItem )
+{
+ Q_ASSERT( reporter );
+ Q_ASSERT( leftItem.hasPayload<Incidence::Ptr>() );
+ Q_ASSERT( rightItem.hasPayload<Incidence::Ptr>() );
+
+ const Incidence::Ptr leftIncidencePtr = leftItem.payload<Incidence::Ptr>();
+ const Incidence::Ptr rightIncidencePtr = rightItem.payload<Incidence::Ptr>();
+
+ if ( leftIncidencePtr->type() == Incidence::TypeEvent ) {
+ reporter->setLeftPropertyValueTitle( i18n( "Changed Event" ) );
+ reporter->setRightPropertyValueTitle( i18n( "Conflicting Event" ) );
+ } else if ( leftIncidencePtr->type() == Incidence::TypeTodo ) {
+ reporter->setLeftPropertyValueTitle( i18n( "Changed Todo" ) );
+ reporter->setRightPropertyValueTitle( i18n( "Conflicting Todo" ) );
+ }
+
+ compareIncidenceBase( reporter, leftIncidencePtr, rightIncidencePtr );
+ compareIncidence( reporter, leftIncidencePtr, rightIncidencePtr );
+
+ const Event::Ptr leftEvent = leftIncidencePtr.dynamicCast<Event>() ;
+ const Event::Ptr rightEvent = rightIncidencePtr.dynamicCast<Event>() ;
+ if ( leftEvent && rightEvent ) {
+ compareEvent( reporter, leftEvent, rightEvent );
+ } else {
+ const Todo::Ptr leftTodo = leftIncidencePtr.dynamicCast<Todo>();
+ const Todo::Ptr rightTodo = rightIncidencePtr.dynamicCast<Todo>();
+ if ( leftTodo && rightTodo ) {
+ compareTodo( reporter, leftTodo, rightTodo );
+ }
+ }
+}
+
+Q_EXPORT_PLUGIN2( akonadi_serializer_kcalcore, SerializerPluginKCalCore )
+
+#include "akonadi_serializer_kcalcore.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,82 @@
+[Misc]
+Name=Incidence Serializer
+Name[ar]=مسلسل الحدث
+Name[ca]=Serialitzador d'incidències
+Name[ca@valencia]=Serialitzador d'incidències
+Name[da]=Serieordning af hændelser
+Name[de]=Ereignis-Serialisierung
+Name[el]=Σειριακοποιητής περιστατικών
+Name[en_GB]=Incidence Serialiser
+Name[es]=Serializador de incidencias
+Name[et]=Sündmuste jadasti
+Name[fr]=Sérialiseur d'évènements
+Name[ga]=Srathóir Imeachtaí
+Name[gl]=Serializador de incidencias
+Name[hu]=Eseménykezelő
+Name[ia]=Divulgator partial de incidentias
+Name[it]=Serializzatore occorrenze
+Name[ja]=イベント用シリアライザ
+Name[kk]=Істерді тізбектеуіші
+Name[km]=ម៉ាស៊ីនបោះពុម្ពឧប្បត្តិហេតុ
+Name[lt]=Įvykių serializatorius
+Name[lv]=Notikumu serializētājs
+Name[nb]=Forekomst-serialisering
+Name[nds]=Begeefnis-Reegmoduul
+Name[ne]=घटना मिलानकर्ता
+Name[nl]=Agenda-item-administratie
+Name[nn]=Hendingsserialisator
+Name[pl]=Serializacja zdarzeń
+Name[pt]=Serializador de Incidências
+Name[pt_BR]=Serializador de incidências
+Name[ro]=Serializator incidență
+Name[ru]=Сохранение событий
+Name[sv]=Förekomstserialisering
+Name[tr]=Olay Sıralandırıcısı
+Name[uk]=Серіалізатор подій
+Name[x-test]=xxIncidence Serializerxx
+Name[zh_CN]=事件序列转换器
+Name[zh_TW]=頻率序列器
+Comment=An Akonadi serializer plugin for events, tasks and journal entries
+Comment[ar]=ملحق مسلسل اكوندا لمدخلات الأحداث و المهمات و السّجل اليومي
+Comment[ca]=Un connector de serialització de l'Akonadi pels objectes incidències
+Comment[ca@valencia]=Un connector de serialització de l'Akonadi pels objectes incidències
+Comment[da]=Et Akonadi-plugin til serieordning af hændelser, opgaver og journalindgange
+Comment[de]=Akonadi-Modul zur Serialisierung von Ereignissen
+Comment[el]=Ένα πρόσθετο σειριακοποιητή Akonadi για γεγονότα, εργασίες και καταχωρήσεις χρονικού
+Comment[en_GB]=An Akonadi serialiser plugin for events, tasks and journal entries
+Comment[es]=Un complemento serializador de Akonadi para eventos, tareas y entradas del diario
+Comment[et]=Akonadi sündmuste, ülesannete ja päevikusissekannate jadastamisplugin
+Comment[fi]=Akonadi-liitännäinen tapahtumia, tehtäviä ja päiväkirjamerkintöjä varten.
+Comment[fr]=Un module externe Akonadi pour la sérialisation des évènements
+Comment[ga]=Breiseán srathóra Akonadi le haghaidh imeachtaí, tascanna, agus iontrálacha dialainne
+Comment[gl]=Un engadido de serialización do Akonadi para eventos, tarefas e entradas do diario
+Comment[hu]=Akonadi-modul események, feladatok és naplóbejegyzések kezeléséhez
+Comment[ia]=Un plug-in pro divulgator partial de Akonadi pro eventos, cargas e jornales
+Comment[it]=Un'estensione di Akonadi per la serializzazione di eventi, attività e diari
+Comment[ja]=イベント、タスク、日記のエントリのための Akonadi シリアライザプラグイン
+Comment[kk]=Akonadi оқиға, тапсырма, күнделік жазуларының тізбектеуіш плагині
+Comment[km]=កម្មវិធីជំនួយកម្មវិធីបោះពុម្ព Akonadi សម្រាប់ធាតុព្រឹត្តិការណ៍ ភារកិច្ច និងទិនានុប្បវត្តិ
+Comment[lt]=Akonadi serializatoriaus įskiepis įvykiams, užduotims ir dienoraščio įrašams
+Comment[lv]=Akonadi notikumu, uzdevumu un dienasgrāmatas ierakstu serializēšanas spraudnis
+Comment[nb]=Et Akonadi programtillegg for serialisering av hendelser, gjøremål og dagboksnotater
+Comment[nds]=Akonadi-Inreegmoduul för Begeefnissen, Opgaven un Daagbookindrääg
+Comment[ne]=घटना, कार्य र जर्नल भौचरका लागि एउटा एकोनाडी मिलानकर्ता प्लगइन
+Comment[nl]=Een administratieplugin voor Akonadi voor evenementen, taken en journalen
+Comment[nn]=Eit Akonadi-serialisatortillegg for hendingar, oppgåver og dagboktekstar
+Comment[pa]=ਈਵੈਂਟ, ਟਾਸਕ ਅਤੇ ਜਰਨਲ ਐਂਟਰੀਆਂ ਲਈ ਅਕੌਂਡੀ ਸੀਰੀਲਾਈਜ਼ਰ ਪਲੱਗਇਨ
+Comment[pl]=Wtyczka Akonadi do serializacji zdarzeń, zadań i wpisów w dzienniku
+Comment[pt]=Um 'plugin' de serialização do Akonadi para os eventos, tarefas e itens do diário
+Comment[pt_BR]=Um plug-in de serialização do Akonadi para os eventos, tarefas e entradas do diário
+Comment[ro]=Modul de serializare Akonadi pentru evenimente, sarcini și întregistrări de agendă
+Comment[ru]=Модуль сохранения событий, задач и журналов для Akonadi
+Comment[sv]=Ett insticksprogram till Akonadi för serialisering av händelser, uppgifter och journalanteckningar
+Comment[tr]=Olay, görev ve günlük nesneleri için bir Akonadi sıralandırıcısı
+Comment[uk]=Додаток серіалізації Akonadi для подій, завдань і записів журналів
+Comment[x-test]=xxAn Akonadi serializer plugin for events, tasks and journal entriesxx
+Comment[zh_CN]=对事项、任务和日记项进行序列转换的 Akonadi 插件
+Comment[zh_TW]=事件、工作與日誌項目物件的 Akonadi 序列器外掛程式
+
+[Plugin]
+Type=text/calendar,application/x-vnd.akonadi.note,application/x-vnd.kde.notes
+X-Akonadi-Class=default;KCalCore::Incidence*;
+X-KDE-Library=akonadi_serializer_kcalcore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,53 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause(a)kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This 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 Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#ifndef AKONADI_SERIALIZER_KCALCORE_H
+#define AKONADI_SERIALIZER_KCALCORE_H
+
+#include <QtCore/QObject>
+
+#include <akonadi/differencesalgorithminterface.h>
+#include <akonadi/itemserializerplugin.h>
+#include <KCalCore/ICalFormat>
+
+namespace AkonadiFuture {
+
+class SerializerPluginKCalCore : public QObject,
+ public Akonadi::ItemSerializerPlugin,
+ public Akonadi::DifferencesAlgorithmInterface
+
+{
+ Q_OBJECT
+ Q_INTERFACES( Akonadi::ItemSerializerPlugin )
+ Q_INTERFACES( Akonadi::DifferencesAlgorithmInterface )
+
+ public:
+ bool deserialize( Akonadi::Item& item, const QByteArray& label, QIODevice& data, int version );
+ void serialize( const Akonadi::Item& item, const QByteArray& label, QIODevice& data, int &version );
+
+ void compare( Akonadi::AbstractDifferencesReporter *reporter,
+ const Akonadi::Item &leftItem,
+ const Akonadi::Item &rightItem );
+ private:
+ KCalCore::ICalFormat mFormat;
+};
+
+}
+
+#endif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package udisks for openSUSE:11.4
checked in at Wed Apr 27 10:23:18 CEST 2011.
--------
--- old-versions/11.4/all/udisks/udisks.changes 2010-12-20 10:29:41.000000000 +0100
+++ 11.4/udisks/udisks.changes 2011-04-26 20:42:11.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 26 20:34:43 CEST 2011 - kay.sievers(a)novell.com
+
+- Fix: Arbitrary LKMs from /lib/modules can be loaded
+ CVE-2010-4661 (bnc#653900)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.4/all/udisks
Destination is old-versions/11.4/UPDATES/all/udisks
calling whatdependson for 11.4-i586
New:
----
udisks-kernel-module-load-fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ udisks.spec ++++++
--- /var/tmp/diff_new_pack.bBqiN5/_old 2011-04-27 10:22:35.000000000 +0200
+++ /var/tmp/diff_new_pack.bBqiN5/_new 2011-04-27 10:22:35.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package udisks (Version 1.0.2)
+# spec file for package udisks
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,7 +20,7 @@
Name: udisks
Version: 1.0.2
-Release: 1
+Release: 3.<RELEASE4>
License: GPLv2+
Summary: Disk Management Service
Url: http://cgit.freedesktop.org/udisks/
@@ -47,6 +47,8 @@
#BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Patch10: udisks-kernel-module-load-fix.patch
+
%description
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.
@@ -66,6 +68,7 @@
%prep
%setup -q
+%patch10 -p1
%build
export V=1
++++++ udisks-kernel-module-load-fix.patch ++++++
>From c933a929f07421ec747cebb24d5e620fc2b97037 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Tue, 15 Mar 2011 13:20:44 +0000
Subject: Bug 32232 – CVE-2010-4661: Arbitrary kernel module load
Validate what is passed to the mount(8) command. In particular, only
allow either well-known filesystems, filesystems already loaded or
filesystem explicitly allowed by the administrator via the
/etc/filesystems file.
See https://bugs.freedesktop.org/show_bug.cgi?id=32232 for details.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/device.c b/src/device.c
index 21d9530..d6595b8 100644
--- a/src/device.c
+++ b/src/device.c
@@ -5891,6 +5891,27 @@ static const FSMountOptions fs_mount_options[] =
{ "udf", udf_defaults, udf_allow, udf_allow_uid_self, udf_allow_gid_self },
};
+static const gchar *well_known_filesystems[] =
+{
+ "btrfs",
+ "ext2",
+ "ext3",
+ "ext4",
+ "udf",
+ "iso9660",
+ "xfs",
+ "jfs",
+ "nilfs",
+ "reiserfs",
+ "reiser4",
+ "msdos",
+ "umsdos",
+ "vfat",
+ "exfat"
+ "ntfs",
+ NULL,
+};
+
/* ------------------------------------------------ */
static int num_fs_mount_options = sizeof(fs_mount_options) / sizeof(FSMountOptions);
@@ -6225,6 +6246,86 @@ filesystem_mount_completed_cb (DBusGMethodInvocation *context,
}
}
+static gboolean
+is_in_filesystem_file (const gchar *filesystems_file,
+ const gchar *fstype)
+{
+ gchar *filesystems;
+ GError *error;
+ gboolean ret;
+ gchar **lines;
+ guint n;
+
+ ret = FALSE;
+ filesystems = NULL;
+ lines = NULL;
+
+ error = NULL;
+ if (!g_file_get_contents (filesystems_file,
+ &filesystems,
+ NULL, /* gsize *out_length */
+ &error))
+ {
+ g_warning ("Error reading /etc/filesystems: %s (%s %d)",
+ error->message,
+ g_quark_to_string (error->domain),
+ error->code);
+ g_error_free (error);
+ goto out;
+ }
+
+ lines = g_strsplit (filesystems, "\n", -1);
+ for (n = 0; lines != NULL && lines[n] != NULL && !ret; n++)
+ {
+ gchar **tokens;
+ gint num_tokens;
+ g_strdelimit (lines[n], " \t", ' ');
+ g_strstrip (lines[n]);
+ tokens = g_strsplit (lines[n], " ", -1);
+ num_tokens = g_strv_length (tokens);
+ if (num_tokens == 1 && g_strcmp0 (tokens[0], fstype) == 0)
+ {
+ ret = TRUE;
+ }
+ g_strfreev (tokens);
+ }
+
+ out:
+ g_strfreev (lines);
+ g_free (filesystems);
+ return ret;
+}
+
+static gboolean
+is_well_known_filesystem (const gchar *fstype)
+{
+ gboolean ret;
+ guint n;
+
+ ret = FALSE;
+ for (n = 0; well_known_filesystems[n] != NULL; n++)
+ {
+ if (g_strcmp0 (well_known_filesystems[n], fstype) == 0)
+ {
+ ret = TRUE;
+ goto out;
+ }
+ }
+ out:
+ return ret;
+}
+
+/* this is not a very efficient implementation but it's very rarely
+ * called so no real point in optimizing it...
+ */
+static gboolean
+is_allowed_filesystem (const gchar *fstype)
+{
+ return is_well_known_filesystem (fstype) ||
+ is_in_filesystem_file ("/proc/filesystems", fstype) ||
+ is_in_filesystem_file ("/etc/filesystems", fstype);
+}
+
static void
device_filesystem_mount_authorized_cb (Daemon *daemon,
Device *device,
@@ -6255,6 +6356,35 @@ device_filesystem_mount_authorized_cb (Daemon *daemon,
remove_dir_on_unmount = FALSE;
error = NULL;
+ /* If the user requests the filesystem type, error out unless the
+ * filesystem type is
+ *
+ * - well-known [1]; or
+ * - in the /etc/filesystems file; or
+ * - in the /proc/filesystems file
+ *
+ * We do this because mount(8) on Linux allows loading any arbitrary
+ * kernel module (when invoked as root) by passing something appropriate
+ * to the -t option. So we have to validate whatever we pass.
+ *
+ * See https://bugs.freedesktop.org/show_bug.cgi?id=32232 for more
+ * details.
+ *
+ * [1] : since /etc/filesystems may be horribly out of date and not
+ * contain e.g. ext4
+ */
+ if (filesystem_type != NULL && strlen (filesystem_type) > 0 &&
+ g_strcmp0 (filesystem_type, "auto") != 0)
+ {
+ if (!is_allowed_filesystem (filesystem_type))
+ {
+ throw_error (context, ERROR_FAILED,
+ "Requested filesystem type is neither well-known nor "
+ "in /proc/filesystems nor in /etc/filesystems");
+ goto out;
+ }
+ }
+
daemon_local_get_uid (device->priv->daemon, &caller_uid, context);
if (device->priv->id_usage == NULL || strcmp (device->priv->id_usage, "filesystem") != 0)
--
cgit v0.8.3-6-g21f6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package polkit-default-privs for openSUSE:Factory
checked in at Wed Apr 27 10:03:28 CEST 2011.
--------
--- polkit-default-privs/polkit-default-privs.changes 2011-03-16 14:22:37.000000000 +0100
+++ /mounts/work_src_done/STABLE/polkit-default-privs/polkit-default-privs.changes 2011-04-26 13:36:28.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 26 11:35:28 UTC 2011 - lnussel(a)suse.de
+
+- add urfkill (bnc#688328)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
polkit-default-privs-0.1_201103161420.tar.bz2
New:
----
polkit-default-privs-0.1_201104261334.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit-default-privs.spec ++++++
--- /var/tmp/diff_new_pack.SCEfTS/_old 2011-04-27 10:02:22.000000000 +0200
+++ /var/tmp/diff_new_pack.SCEfTS/_new 2011-04-27 10:02:22.000000000 +0200
@@ -22,7 +22,7 @@
Name: polkit-default-privs
License: GPLv2+
Group: Productivity/Security
-Version: 0.1_201103161420
+Version: 0.1_201104261334
Release: 1
Summary: SUSE PolicyKit default permissions
Source: polkit-default-privs-%version.tar.bz2
++++++ polkit-default-privs-0.1_201103161420.tar.bz2 -> polkit-default-privs-0.1_201104261334.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-0.1_201103161420/polkit-default-privs.restrictive new/polkit-default-privs-0.1_201104261334/polkit-default-privs.restrictive
--- old/polkit-default-privs-0.1_201103161420/polkit-default-privs.restrictive 2011-03-16 14:20:52.000000000 +0100
+++ new/polkit-default-privs-0.1_201104261334/polkit-default-privs.restrictive 2011-04-26 13:34:48.000000000 +0200
@@ -320,4 +320,11 @@
org.freedesktop.ModemManager.SMS auth_admin
org.freedesktop.ModemManager.Location auth_admin
+# urfkill (bnc#688328)
+org.freedesktop.urfkill.block auth_admin
+org.freedesktop.urfkill.blockidx auth_admin
+org.freedesktop.urfkill.unblock auth_admin
+org.freedesktop.urfkill.unblockidx auth_admin
+org.freedesktop.urfkill.enablekeycontrol auth_admin
+
###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-0.1_201103161420/polkit-default-privs.standard new/polkit-default-privs-0.1_201104261334/polkit-default-privs.standard
--- old/polkit-default-privs-0.1_201103161420/polkit-default-privs.standard 2011-03-16 14:20:52.000000000 +0100
+++ new/polkit-default-privs-0.1_201104261334/polkit-default-privs.standard 2011-04-26 13:34:48.000000000 +0200
@@ -327,4 +327,11 @@
org.freedesktop.ModemManager.SMS auth_admin
org.freedesktop.ModemManager.Location auth_admin
+# urfkill (bnc#688328)
+org.freedesktop.urfkill.block auth_admin:auth_admin:yes
+org.freedesktop.urfkill.blockidx auth_admin:auth_admin:yes
+org.freedesktop.urfkill.unblock auth_admin:auth_admin:yes
+org.freedesktop.urfkill.unblockidx auth_admin:auth_admin:yes
+org.freedesktop.urfkill.enablekeycontrol auth_admin:auth_admin:yes
+
###
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package nfs-utils for openSUSE:Factory
checked in at Wed Apr 27 10:02:10 CEST 2011.
--------
--- nfs-utils/nfs-utils.changes 2011-03-19 15:11:03.000000000 +0100
+++ /mounts/work_src_done/STABLE/nfs-utils/nfs-utils.changes 2011-04-27 02:42:25.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Apr 27 00:41:10 UTC 2011 - nfbrown(a)novell.com
+
+- Make /var/lib/nfs world executable.
+ Otherwise 'df' complains about /var/lib/nfs/rpc_pipefs
+ bnc#675385
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nfs-utils.spec ++++++
--- /var/tmp/diff_new_pack.JrRuNI/_old 2011-04-27 09:57:06.000000000 +0200
+++ /var/tmp/diff_new_pack.JrRuNI/_new 2011-04-27 09:57:06.000000000 +0200
@@ -27,7 +27,7 @@
Url: http://nfs.sourceforge.net
Summary: Support Utilities for Kernel nfsd
Version: 1.2.3
-Release: 14
+Release: 15
Group: Productivity/Networking/NFS
License: GPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -276,7 +276,7 @@
%{_mandir}/man8/mountstats.8.gz
%{_mandir}/man8/nfsiostat.8.gz
/var/adm/fillup-templates/sysconfig.nfs
-%attr(0700,statd,nogroup) %dir /var/lib/nfs
+%attr(0711,statd,nogroup) %dir /var/lib/nfs
%dir /var/lib/nfs/rpc_pipefs
%dir /var/lib/nfs/v4recovery
%attr(0700,statd,nogroup) %dir /var/lib/nfs/sm
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package polkit for openSUSE:11.4
checked in at Wed Apr 27 09:56:39 CEST 2011.
--------
--- old-versions/11.4/all/polkit/polkit.changes 2010-11-10 16:04:42.000000000 +0100
+++ 11.4/polkit/polkit.changes 2011-04-26 19:27:55.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 26 19:23:44 CEST 2011 - kay.sievers(a)novell.com
+
+- stat race condition (CVE-2011-1485) (bnc#688788)
+- fix memleak (bnc#638784)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.4/all/polkit
Destination is old-versions/11.4/UPDATES/all/polkit
calling whatdependson for 11.4-i586
New:
----
polkit-CVE-2011-1485-1.patch
polkit-CVE-2011-1485-2.patch
polkit-CVE-2011-1485-3.patch
polkit-CVE-2011-1485-4.patch
polkit-memleak.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit.spec ++++++
--- /var/tmp/diff_new_pack.YSeG9k/_old 2011-04-27 09:56:03.000000000 +0200
+++ /var/tmp/diff_new_pack.YSeG9k/_new 2011-04-27 09:56:03.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package polkit (Version 0.99)
+# spec file for package polkit
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,7 +20,7 @@
Name: polkit
Summary: PolicyKit Authorization Framework
Version: 0.99
-Release: 2
+Release: 5.<RELEASE6>
License: LGPLv2+
Url: http://www.freedesktop.org/wiki/Software/PolicyKit
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -37,6 +37,12 @@
Requires: dbus-1
Requires: libpolkit0 = %{version}-%{release}
+Patch10: polkit-CVE-2011-1485-1.patch
+Patch11: polkit-CVE-2011-1485-2.patch
+Patch12: polkit-CVE-2011-1485-3.patch
+Patch13: polkit-CVE-2011-1485-4.patch
+Patch14: polkit-memleak.patch
+
%description
PolicyKit is a toolkit for defining and handling authorizations.
It is used for allowing unprivileged processes to speak to privileged
@@ -79,6 +85,11 @@
%prep
%setup -q
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
%build
export V=1
++++++ polkit-CVE-2011-1485-1.patch ++++++
>From dd848a42a64a3b22a0cc60f6657b56ce9b6010ae Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Thu, 31 Mar 2011 16:59:09 +0000
Subject: PolkitUnixProcess: Clarify that the real uid is returned, not the effective one
On Linux, also switch to parsing /proc/<pid>/status instead of relying
on the st_uid returned by stat(2) to be the uid we want.
This was pointed out by Neel Mehta <nmehta(a)google.com>. Thanks!
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
index d95a1d4..876da69 100644
--- a/src/polkit/polkitunixprocess.c
+++ b/src/polkit/polkitunixprocess.c
@@ -24,9 +24,7 @@
#endif
#include <sys/types.h>
-#ifndef HAVE_FREEBSD
-#include <sys/stat.h>
-#else
+#ifdef HAVE_FREEBSD
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/user.h>
@@ -34,6 +32,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <stdio.h>
#include "polkitunixprocess.h"
#include "polkitsubject.h"
@@ -208,6 +207,8 @@ polkit_unix_process_get_pid (PolkitUnixProcess *process)
*
* Gets the uid of the owner of @process.
*
+ * Note that this returns the real user-id (not the effective user-id) of @process.
+ *
* Returns: The UNIX user id of the owner for @process or 0 if @error is set.
**/
gint
@@ -215,17 +216,21 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
GError **error)
{
gint result;
+ gchar *contents;
+ gchar **lines;
#ifdef HAVE_FREEBSD
struct kinfo_proc p;
#else
- struct stat statbuf;
- char procbuf[32];
+ gchar filename[64];
+ guint n;
#endif
g_return_val_if_fail (POLKIT_IS_UNIX_PROCESS (process), 0);
g_return_val_if_fail (error == NULL || *error == NULL, 0);
result = 0;
+ lines = NULL;
+ contents = NULL;
#ifdef HAVE_FREEBSD
if (get_kinfo_proc (process->pid, &p) == 0)
@@ -241,23 +246,52 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
result = p.ki_uid;
#else
- g_snprintf (procbuf, sizeof procbuf, "/proc/%d", process->pid);
- if (stat (procbuf, &statbuf) != 0)
+
+ /* see 'man proc' for layout of the status file
+ *
+ * Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).
+ */
+ g_snprintf (filename, sizeof filename, "/proc/%d/status", process->pid);
+ if (!g_file_get_contents (filename,
+ &contents,
+ NULL,
+ error))
{
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "stat() failed for /proc/%d: %s",
- process->pid,
- g_strerror (errno));
goto out;
}
+ lines = g_strsplit (contents, "\n", -1);
+ for (n = 0; lines != NULL && lines[n] != NULL; n++)
+ {
+ gint real_uid, effective_uid;
+ if (!g_str_has_prefix (lines[n], "Uid:"))
+ continue;
+ if (sscanf (lines[n] + 4, "%d %d", &real_uid, &effective_uid) != 2)
+ {
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unexpected line `%s' in file %s",
+ lines[n],
+ filename);
+ goto out;
+ }
+ else
+ {
+ result = real_uid;
+ goto out;
+ }
+ }
- result = statbuf.st_uid;
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Didn't find any line starting with `Uid:' in file %s",
+ filename);
#endif
- out:
-
+out:
+ g_strfreev (lines);
+ g_free (contents);
return result;
}
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-2.patch ++++++
++++ 615 lines (skipped)
++++++ polkit-CVE-2011-1485-3.patch ++++++
>From c23d74447c7615dc74dae259f0fc3688ec988867 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Fri, 01 Apr 2011 16:12:27 +0000
Subject: Use polkit_unix_process_get_uid() to get the owner of a process
This avoids a TOCTTOU problem.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkitbackend/polkitbackendsessionmonitor.c b/src/polkitbackend/polkitbackendsessionmonitor.c
index 495f752..9c331b6 100644
--- a/src/polkitbackend/polkitbackendsessionmonitor.c
+++ b/src/polkitbackend/polkitbackendsessionmonitor.c
@@ -293,14 +293,15 @@ polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor
if (POLKIT_IS_UNIX_PROCESS (subject))
{
- local_error = NULL;
- uid = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject), &local_error);
- if (local_error != NULL)
+ uid = polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject));
+ if ((gint) uid == -1)
{
- g_propagate_prefixed_error (error, local_error, "Error getting user for process: ");
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unix process subject does not have uid set");
goto out;
}
-
ret = polkit_unix_user_new (uid);
}
else if (POLKIT_IS_SYSTEM_BUS_NAME (subject))
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-4.patch ++++++
>From 3b12cfac29dddd27f1f166a7574d8374cc1dccf2 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Fri, 01 Apr 2011 16:13:15 +0000
Subject: pkexec: Avoid TOCTTOU problems with parent process
In a nutshell, the parent process may change its uid (either real- or
effective uid) after launching pkexec. It can do this by exec()'ing
e.g. a setuid root program.
To avoid this problem, just use the uid the parent process had when it
executed pkexec. This happens to be the same uid of the pkexec process
itself.
Additionally, remove some dubious code that allowed pkexec to continue
when the parent process died as there is no reason to support
something like that. Also ensure that the pkexec process is killed if
the parent process dies.
This problem was pointed out by Neel Mehta <nmehta(a)google.com>.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
index fbd700d..3cdfb93 100644
--- a/src/programs/pkexec.c
+++ b/src/programs/pkexec.c
@@ -35,6 +35,12 @@
#include <pwd.h>
#include <errno.h>
+#ifdef __linux__
+#include <sys/prctl.h>
+#endif
+
+#include <glib/gi18n.h>
+
#ifdef POLKIT_AUTHFW_PAM
#include <security/pam_appl.h>
#endif /* POLKIT_AUTHFW_PAM */
@@ -421,7 +427,6 @@ main (int argc, char *argv[])
GPtrArray *saved_env;
gchar *opt_user;
pid_t pid_of_caller;
- uid_t uid_of_caller;
gpointer local_agent_handle;
ret = 127;
@@ -596,40 +601,49 @@ main (int argc, char *argv[])
*/
g_type_init ();
- /* now check if the program that invoked us is authorized */
+ /* make sure we are nuked if the parent process dies */
+#ifdef __linux__
+ if (prctl (PR_SET_PDEATHSIG, SIGTERM) != 0)
+ {
+ g_printerr ("prctl(PR_SET_PDEATHSIG, SIGTERM) failed: %s\n", g_strerror (errno));
+ goto out;
+ }
+#else
+#warning "Please add OS specific code to catch when the parent dies"
+#endif
+
+ /* Figure out the parent process */
pid_of_caller = getppid ();
if (pid_of_caller == 1)
{
/* getppid() can return 1 if the parent died (meaning that we are reaped
- * by /sbin/init); get process group leader instead - for example, this
- * happens when launching via gnome-panel (alt+f2, then 'pkexec gedit').
+ * by /sbin/init); In that case we simpy bail.
*/
- pid_of_caller = getpgrp ();
- }
-
- subject = polkit_unix_process_new (pid_of_caller);
- if (subject == NULL)
- {
- g_printerr ("No such process for pid %d: %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
+ g_printerr ("Refusing to render service to dead parents.\n");
goto out;
}
- /* paranoia: check that the uid of pid_of_caller matches getuid() */
- error = NULL;
- uid_of_caller = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject),
- &error);
- if (error != NULL)
- {
- g_printerr ("Error determing pid of caller (pid %d): %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
- goto out;
- }
- if (uid_of_caller != getuid ())
- {
- g_printerr ("User of caller (%d) does not match our uid (%d)\n", uid_of_caller, getuid ());
- goto out;
- }
+ /* This process we want to check an authorization for is the process
+ * that launched us - our parent process.
+ *
+ * At the time the parent process fork()'ed and exec()'ed us, the
+ * process had the same real-uid that we have now. So we use this
+ * real-uid instead of of looking it up to avoid TOCTTOU issues
+ * (consider the parent process exec()'ing a setuid helper).
+ *
+ * On the other hand, the monotonic process start-time is guaranteed
+ * to never change so it's safe to look that up given only the PID
+ * since we are guaranteed to be nuked if the parent goes away
+ * (cf. the prctl(2) call above).
+ */
+ subject = polkit_unix_process_new_for_owner (pid_of_caller,
+ 0, /* 0 means "look up start-time in /proc" */
+ getuid ());
+ /* really double-check the invariants guaranteed by the PolkitUnixProcess class */
+ g_assert (subject != NULL);
+ g_assert (polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)) == pid_of_caller);
+ g_assert (polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0);
+ g_assert (polkit_unix_process_get_start_time (POLKIT_UNIX_PROCESS (subject)) > 0);
error = NULL;
authority = polkit_authority_get_sync (NULL /* GCancellable* */, &error);
++++++ polkit-memleak.patch ++++++
>From 58f8c06caf7abec48e500e4a9669a1690aa01109 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Wed, 23 Feb 2011 15:49:14 +0000
Subject: Fix a memory leak
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkit/polkitactiondescription.c b/src/polkit/polkitactiondescription.c
index 0391efd..4bd9604 100644
--- a/src/polkit/polkitactiondescription.c
+++ b/src/polkit/polkitactiondescription.c
@@ -316,6 +316,8 @@ polkit_action_description_new (const gchar *action_id,
ret->implicit_any = implicit_any;
ret->implicit_inactive = implicit_inactive;
ret->implicit_active = implicit_active;
+ if (ret->annotations != NULL)
+ g_hash_table_unref (ret->annotations);
ret->annotations = g_hash_table_ref (annotations);
return ret;
}
--
cgit v0.8.3-6-g21f6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package polkit for openSUSE:11.3
checked in at Wed Apr 27 09:55:41 CEST 2011.
--------
--- old-versions/11.3/all/polkit/polkit.changes 2010-04-14 15:46:06.000000000 +0200
+++ 11.3/polkit/polkit.changes 2011-04-26 20:10:36.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 26 20:06:55 CEST 2011 - kay.sievers(a)novell.com
+
+- stat race condition (CVE-2011-1485) (bnc#688788)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.3/all/polkit
Destination is old-versions/11.3/UPDATES/all/polkit
calling whatdependson for 11.3-i586
New:
----
polkit-CVE-2011-1485-1.patch
polkit-CVE-2011-1485-2.patch
polkit-CVE-2011-1485-3.patch
polkit-CVE-2011-1485-4.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit.spec ++++++
--- /var/tmp/diff_new_pack.IZRXj7/_old 2011-04-27 09:54:57.000000000 +0200
+++ /var/tmp/diff_new_pack.IZRXj7/_new 2011-04-27 09:54:57.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package polkit (Version 0.96)
+# spec file for package polkit
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,7 +20,7 @@
Name: polkit
Summary: PolicyKit Authorization Framework
Version: 0.96
-Release: 2
+Release: 5.<RELEASE2>
License: LGPLv2+
Url: http://www.freedesktop.org/wiki/Software/PolicyKit
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -36,7 +36,11 @@
Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.bz2
Source99: baselibs.conf
Requires: libpolkit0 = %{version}-%{release}
-Patch0: pkexec-information-disclosure.patch
+Patch10: polkit-CVE-2011-1485-1.patch
+Patch11: polkit-CVE-2011-1485-2.patch
+Patch12: polkit-CVE-2011-1485-3.patch
+Patch13: polkit-CVE-2011-1485-4.patch
+Patch14: pkexec-information-disclosure.patch
%description
PolicyKit is a toolkit for defining and handling authorizations.
@@ -80,7 +84,11 @@
%prep
%setup -q
-%patch0 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
%build
export V=1
++++++ pkexec-information-disclosure.patch ++++++
--- /var/tmp/diff_new_pack.IZRXj7/_old 2011-04-27 09:54:57.000000000 +0200
+++ /var/tmp/diff_new_pack.IZRXj7/_new 2011-04-27 09:54:57.000000000 +0200
@@ -1,4 +1,4 @@
-From 14bdfd816512a82b1ad258fa143ae5faa945df8a Mon Sep 17 00:00:00 2001
+From 28e485cac449c8eb37c21eecb95f5fa125def9d4 Mon Sep 17 00:00:00 2001
From: Dan Rosenberg <dan.j.rosenberg(a)gmail.com>
Date: Wed, 10 Mar 2010 17:46:19 +0000
Subject: Bug 26982 – pkexec information disclosure vulnerability
@@ -34,18 +34,18 @@
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
-index 860e665..17c191e 100644
+index a7b7ba6..0c1dacd 100644
--- a/src/programs/pkexec.c
+++ b/src/programs/pkexec.c
-@@ -411,7 +411,6 @@ main (int argc, char *argv[])
+@@ -414,7 +414,6 @@ main (int argc, char *argv[])
+ GPtrArray *saved_env;
gchar *opt_user;
pid_t pid_of_caller;
- uid_t uid_of_caller;
- struct stat statbuf;
ret = 127;
authority = NULL;
-@@ -520,9 +519,9 @@ main (int argc, char *argv[])
+@@ -523,9 +522,9 @@ main (int argc, char *argv[])
g_free (path);
argv[n] = path = s;
}
++++++ polkit-CVE-2011-1485-1.patch ++++++
>From 83a65f1255fc3eebfb4be1f80a5ab0b5f98eef7c Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Mon, 11 Apr 2011 15:38:22 +0000
Subject: PolkitUnixProcess: Clarify that the real uid is returned, not the effective one
On Linux, also switch to parsing /proc/<pid>/status instead of relying
on the st_uid returned by stat(2) to be the uid we want.
This was pointed out by Neel Mehta <nmehta(a)google.com>. Thanks!
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
index e132387..868e3c5 100644
--- a/src/polkit/polkitunixprocess.c
+++ b/src/polkit/polkitunixprocess.c
@@ -34,6 +34,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <stdio.h>
#include "polkitunixprocess.h"
#include "polkitsubject.h"
@@ -207,6 +208,8 @@ polkit_unix_process_get_pid (PolkitUnixProcess *process)
*
* Gets the uid of the owner of @process.
*
+ * Note that this returns the real user-id (not the effective user-id) of @process.
+ *
* Returns: The UNIX user id of the owner for @process or 0 if @error is set.
**/
gint
@@ -214,14 +217,18 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
GError **error)
{
gint result;
+ gchar *contents;
+ gchar **lines;
#ifdef HAVE_FREEBSD
struct kinfo_proc p;
#else
- struct stat statbuf;
- char procbuf[32];
+ gchar filename[64];
+ guint n;
#endif
result = 0;
+ lines = NULL;
+ contents = NULL;
#ifdef HAVE_FREEBSD
if (get_kinfo_proc (process->pid, &p) == 0)
@@ -237,22 +244,51 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
result = p.ki_uid;
#else
- g_snprintf (procbuf, sizeof procbuf, "/proc/%d", process->pid);
- if (stat (procbuf, &statbuf) != 0)
+ /* see 'man proc' for layout of the status file
+ *
+ * Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).
+ */
+ g_snprintf (filename, sizeof filename, "/proc/%d/status", process->pid);
+ if (!g_file_get_contents (filename,
+ &contents,
+ NULL,
+ error))
{
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "stat() failed for /proc/%d: %s",
- process->pid,
- g_strerror (errno));
goto out;
}
+ lines = g_strsplit (contents, "\n", -1);
+ for (n = 0; lines != NULL && lines[n] != NULL; n++)
+ {
+ gint real_uid, effective_uid;
+ if (!g_str_has_prefix (lines[n], "Uid:"))
+ continue;
+ if (sscanf (lines[n] + 4, "%d %d", &real_uid, &effective_uid) != 2)
+ {
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unexpected line `%s' in file %s",
+ lines[n],
+ filename);
+ goto out;
+ }
+ else
+ {
+ result = real_uid;
+ goto out;
+ }
+ }
- result = statbuf.st_uid;
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Didn't find any line starting with `Uid:' in file %s",
+ filename);
#endif
out:
+ g_strfreev (lines);
+ g_free (contents);
return result;
}
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-2.patch ++++++
++++ 658 lines (skipped)
++++++ polkit-CVE-2011-1485-3.patch ++++++
>From 55e6f92e7340d57a66f83bd69bdf26454fdf7533 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Mon, 11 Apr 2011 16:41:35 +0000
Subject: Use polkit_unix_process_get_uid() to get the owner of a process
This avoids a TOCTTOU problem.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkitbackend/polkitbackendsessionmonitor.c b/src/polkitbackend/polkitbackendsessionmonitor.c
index 2028250..d976514 100644
--- a/src/polkitbackend/polkitbackendsessionmonitor.c
+++ b/src/polkitbackend/polkitbackendsessionmonitor.c
@@ -418,14 +418,13 @@ polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor
if (POLKIT_IS_UNIX_PROCESS (subject))
{
- GError *local_error;
-
- local_error = NULL;
- uid = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject), &local_error);
- if (local_error != NULL)
+ uid = polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject));
+ if ((gint) uid == -1)
{
- g_propagate_error (error, local_error);
- g_error_free (local_error);
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unix process subject does not have uid set");
goto out;
}
user = polkit_unix_user_new (uid);
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-4.patch ++++++
>From 5d44f404809ab0bdf277c1f49387b5339d02122e Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Mon, 11 Apr 2011 16:45:13 +0000
Subject: pkexec: Avoid TOCTTOU problems with parent process
In a nutshell, the parent process may change its uid (either real- or
effective uid) after launching pkexec. It can do this by exec()'ing
e.g. a setuid root program.
To avoid this problem, just use the uid the parent process had when it
executed pkexec. This happens to be the same uid of the pkexec process
itself.
Additionally, remove some dubious code that allowed pkexec to continue
when the parent process died as there is no reason to support
something like that. Also ensure that the pkexec process is killed if
the parent process dies.
This problem was pointed out by Neel Mehta <nmehta(a)google.com>.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
index 860e665..a7b7ba6 100644
--- a/src/programs/pkexec.c
+++ b/src/programs/pkexec.c
@@ -38,6 +38,10 @@
#include <syslog.h>
#include <stdarg.h>
+#ifdef __linux__
+#include <sys/prctl.h>
+#endif
+
#include <polkit/polkit.h>
static gchar *original_user_name = NULL;
@@ -410,7 +414,6 @@ main (int argc, char *argv[])
GPtrArray *saved_env;
gchar *opt_user;
pid_t pid_of_caller;
- uid_t uid_of_caller;
struct stat statbuf;
ret = 127;
@@ -579,40 +582,49 @@ main (int argc, char *argv[])
*/
g_type_init ();
- /* now check if the program that invoked us is authorized */
+ /* make sure we are nuked if the parent process dies */
+#ifdef __linux__
+ if (prctl (PR_SET_PDEATHSIG, SIGTERM) != 0)
+ {
+ g_printerr ("prctl(PR_SET_PDEATHSIG, SIGTERM) failed: %s\n", g_strerror (errno));
+ goto out;
+ }
+#else
+#warning "Please add OS specific code to catch when the parent dies"
+#endif
+
+ /* Figure out the parent process */
pid_of_caller = getppid ();
if (pid_of_caller == 1)
{
/* getppid() can return 1 if the parent died (meaning that we are reaped
- * by /sbin/init); get process group leader instead - for example, this
- * happens when launching via gnome-panel (alt+f2, then 'pkexec gedit').
+ * by /sbin/init); In that case we simpy bail.
*/
- pid_of_caller = getpgrp ();
- }
-
- subject = polkit_unix_process_new (pid_of_caller);
- if (subject == NULL)
- {
- g_printerr ("No such process for pid %d: %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
+ g_printerr ("Refusing to render service to dead parents.\n");
goto out;
}
- /* paranoia: check that the uid of pid_of_caller matches getuid() */
- error = NULL;
- uid_of_caller = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject),
- &error);
- if (error != NULL)
- {
- g_printerr ("Error determing pid of caller (pid %d): %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
- goto out;
- }
- if (uid_of_caller != getuid ())
- {
- g_printerr ("User of caller (%d) does not match our uid (%d)\n", uid_of_caller, getuid ());
- goto out;
- }
+ /* This process we want to check an authorization for is the process
+ * that launched us - our parent process.
+ *
+ * At the time the parent process fork()'ed and exec()'ed us, the
+ * process had the same real-uid that we have now. So we use this
+ * real-uid instead of of looking it up to avoid TOCTTOU issues
+ * (consider the parent process exec()'ing a setuid helper).
+ *
+ * On the other hand, the monotonic process start-time is guaranteed
+ * to never change so it's safe to look that up given only the PID
+ * since we are guaranteed to be nuked if the parent goes away
+ * (cf. the prctl(2) call above).
+ */
+ subject = polkit_unix_process_new_for_owner (pid_of_caller,
+ 0, /* 0 means "look up start-time in /proc" */
+ getuid ());
+ /* really double-check the invariants guaranteed by the PolkitUnixProcess class */
+ g_assert (subject != NULL);
+ g_assert (polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)) == pid_of_caller);
+ g_assert (polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0);
+ g_assert (polkit_unix_process_get_start_time (POLKIT_UNIX_PROCESS (subject)) > 0);
authority = polkit_authority_get ();
--
cgit v0.8.3-6-g21f6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package trang for openSUSE:Factory
checked in at Wed Apr 27 09:25:55 CEST 2011.
--------
--- trang/trang.changes 2010-03-19 13:45:07.000000000 +0100
+++ /mounts/work_src_done/STABLE/trang/trang.changes 2011-04-26 09:13:50.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 26 07:11:51 UTC 2011 - mvyskocil(a)suse.cz
+
+- fix bnc#689377 - add support for multiple input files to /usr/bin/trang
+ patch by Justin McAteer - just_mcateer at hotmail
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trang.spec ++++++
--- /var/tmp/diff_new_pack.Fn4nq7/_old 2011-04-27 09:19:40.000000000 +0200
+++ /var/tmp/diff_new_pack.Fn4nq7/_new 2011-04-27 09:19:40.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package trang (Version 20091111)
+# spec file for package trang
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -22,9 +22,9 @@
BuildRequires: unzip
Summary: Schema Converter Based on RELAX NG
Version: 20091111
-Release: 1
+Release: 7
Url: http://code.google.com/p/jing-trang/
-Source: http://jing-trang.googlecode.com/files/%{name}-%{version}.zip
+Source0: http://jing-trang.googlecode.com/files/%{name}-%{version}.zip
Source1: %{name}
Source2: %{name}-doc.tar.bz2
License: BSD3c
++++++ trang ++++++
--- /var/tmp/diff_new_pack.Fn4nq7/_old 2011-04-27 09:19:40.000000000 +0200
+++ /var/tmp/diff_new_pack.Fn4nq7/_new 2011-04-27 09:19:40.000000000 +0200
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
usage () {
echo "Usage: $0 [-I rng|rnc|dtd|xml] [-O rng|rnc|dtd|xsd] [-i input-param] [-o output-param] inputFileOrUri ... outputFile" >&2
@@ -31,11 +31,15 @@
shift $(($OPTIND - 1))
-test $# -eq 2 || usage
+test $# -gt 1 || usage
-in="$1"
-out="$2"
+while [ $# -gt 1 ]; do
+ in="$in $1"
+ shift
+done
+
+out="${!#}"
-java -jar /usr/share/java/trang.jar $args "$in" "$out"
+java -jar /usr/share/java/trang.jar $args $in "$out"
exit 0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package ImageMagick for openSUSE:Factory
checked in at Wed Apr 27 09:19:23 CEST 2011.
--------
--- ImageMagick/ImageMagick.changes 2011-04-11 15:29:04.000000000 +0200
+++ /mounts/work_src_done/STABLE/ImageMagick/ImageMagick.changes 2011-04-22 00:42:27.000000000 +0200
@@ -1,0 +2,9 @@
+Thu Apr 21 10:00:25 UTC 2011 - giecrilj(a)stegny.2a.pl
+
+- updated to 6.6.9.5: fixes [Bug 682238]
+ * macroized and cleaned up scripts
+ * added conditions for optional components
+ * updated file lists for upstream
+ * cleaned up the include tree in devel (patch)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
ImageMagick-6.6.8-9.tar.bz2
New:
----
ImageMagick-6.6.9-5.tar.bz2
ImageMagick-6.6.9.1-inc-struct.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ImageMagick.spec ++++++
--- /var/tmp/diff_new_pack.Iu1tYV/_old 2011-04-27 09:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.Iu1tYV/_new 2011-04-27 09:19:13.000000000 +0200
@@ -17,32 +17,92 @@
# norootforbuild
+%bcond_with xtp
+%bcond_without DCraw
+%bcond_without FreeType
+%bcond_without CXX
+%bcond_without Ghostscript
+%bcond_without LCMS
+%bcond_without TIFF
+%bcond_without WMF
+%bcond_without XML
+%bcond_without DejaVu
+%bcond_without EXIF
+%bcond_without JPEG
Name: ImageMagick
-BuildRequires: dcraw freetype2-devel gcc-c++ ghostscript-fonts-other ghostscript-fonts-std
-BuildRequires: ghostscript-library liblcms-devel libtiff-devel libwmf-devel
-BuildRequires: libxml2-devel pkgconfig
-BuildRequires: fdupes libdjvulibre-devel libexif-devel libjasper-devel
-Obsoletes: imagemag
-Provides: imagemag
+
+BuildRequires: fdupes pkgconfig
+
+%if %{with DCraw}
+BuildRequires: dcraw
+%endif
+
+%if %{with FreeType}
+BuildRequires: freetype2-devel
+%endif
+
+%if %{with CXX}
+BuildRequires: gcc-c++
+%endif
+
+%if %{with Ghostscript}
+BuildRequires: ghostscript-fonts-other ghostscript-fonts-std ghostscript-library
+%endif
+
+%if %{with LCMS}
+BuildRequires: liblcms-devel
+%endif
+
+%if %{with TIFF}
+BuildRequires: libtiff-devel
+%endif
+
+%if %{with WMF}
+BuildRequires: libwmf-devel
+%endif
+
+%if %{with XML}
+BuildRequires: libxml2-devel
+%endif
+
+%if %{with DejaVu}
+BuildRequires: libdjvulibre-devel
+%endif
+
+%if %{with EXIF}
+BuildRequires: libexif-devel
+%endif
+
+%if %{with JPEG}
+BuildRequires: libjasper-devel
+%endif
+
%define xtp_version 5.4.3
+%define mfr_version 6.6.9
+%define mfr_revision 5
+%define source_version %{mfr_version}-%{mfr_revision}
License: Public Domain, Freeware
Group: Productivity/Graphics/Other
AutoReqProv: on
-Version: 6.6.8.9
+Version: %{mfr_version}.%{mfr_revision}
Release: 1
-%define source_version 6.6.8-9
%define libver 4
Summary: Viewer and Converter for Images
Url: http://www.imagemagick.org
-Source: ImageMagick-%{source_version}.tar.bz2
+Source: ImageMagick-6.6.9-5.tar.bz2
# To get mtime of file
Source1: ImageMagick.changes
+%if %{with xtp}
Source2: xtp-%{xtp_version}.tar.bz2
+%endif
Source3: baselibs.conf
-Patch1: ImageMagick-%{version}-examples.patch
-Patch2: ImageMagick-%{version}-doc.patch
+Patch1: ImageMagick-6.6.8.9-examples.patch
+Patch2: ImageMagick-6.6.8.9-doc.patch
+Patch3: ImageMagick-6.6.9.1-inc-struct.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Provides: imagemag = %{version}
+Obsoletes: imagemag < %{version}
%package -n perl-PerlMagick
License: Public Domain, Freeware
@@ -88,39 +148,48 @@
License: PERMISSIVE-OSI-COMPLIANT
-Requires: ImageMagick = %{version}
+Requires: ImageMagick
Summary: C++ Interface for ImageMagick - runtime library
Group: Development/Libraries/C and C++
AutoReqProv: on
# was last used in openSUSE 10.2
-Provides: ImageMagick-Magick++ = 6.3.3
-Obsoletes: ImageMagick-Magick++ <= 6.3.3
+Provides: ImageMagick-Magick++ = %{version}
+Obsoletes: ImageMagick-Magick++ < %{version}
%package -n libMagick++-devel
License: PERMISSIVE-OSI-COMPLIANT
Requires: ImageMagick-devel = %{version} libMagick++%{libver} = %{version} libstdc++-devel
Summary: C++ Interface for ImageMagick - files mandatory for development
Group: Development/Libraries/C and C++
-Provides: ImageMagick-Magick++-devel
-Obsoletes: ImageMagick-Magick++-devel <= %{version}
+Provides: ImageMagick-Magick++-devel = %{version}
+Obsoletes: ImageMagick-Magick++-devel < %{version}
AutoReqProv: on
%package doc
License: PERMISSIVE-OSI-COMPLIANT
Summary: Document Files for ImageMagick Library
Group: Development/Libraries/C and C++
-Requires: ImageMagick = %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%prep
rm -rf xtp-%{xtp_version}
+%if %{with xtp}
%setup -n ImageMagick-%{source_version} -b 2
+%else
+%setup -n ImageMagick-%{source_version}
+%endif
%patch1
%patch2
+%patch3 -p1
+echo>header-test.c '#include "wand.h"'
+echo>wand.h '#include "wand/MagickWand.h"'
+%{__make} header-test.o
%build
+%define CFLAGS ${RPM_OPT_FLAGS} -fstack-protector-all
+%define LDFLAGS -L%{_libdir} -fuse-linker-plugin
%define system_ltdl 0
%if %system_ltdl
cp -f %{_datadir}/libtool/libltdl/*.{c,h} ltdl
@@ -132,37 +201,36 @@
sed -i -e "s|^PACKAGE_RELEASE_DATE.*$|PACKAGE_RELEASE_DATE=\"$CHANGES\"|" version.sh
autoreconf --force --install -v
+
+%if %{with xtp}
pushd ../xtp-%{xtp_version}
autoreconf --force --install
popd
-export CFLAGS="$RPM_OPT_FLAGS -fstack-protector-all"
-export CXXFLAGS="$RPM_OPT_FLAGS -fstack-protector-all"
-%if %suse_version <= 1030
+%endif
+
+%if %{suse_version} <= 1030
# openmp does not work with perl module
OPENMP="--disable-openmp"
%endif
-export LDFLAGS="-L%{_libdir}"
%configure \
--enable-shared \
--without-frozenpaths \
- --with-largefiles \
--with-magick_plus_plus \
--with-modules \
--with-threads \
--without-perl \
--disable-static \
- --enable-libtool-verbose \
- --with-djvu=yes $OPENMP
+ --with-djvu=yes $OPENMP CFLAGS="%{CFLAGS}" CXXFLAGS="%{CFLAGS}" LDFLAGS="%{LDFLAGS}"
make %{?jobs:-j%jobs} all
cd PerlMagick
perl Makefile.PL
make %{?jobs:-j%jobs} LD_RUN_PATH="%{_libdir}:%{_prefix}/X11R6/%{_lib}"
#
+%if %{with xtp}
cd ../../xtp-%{xtp_version}
-export CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"
-export CXXFLAGS="$RPM_OPT_FLAGS"
-%configure
+%configure "CFLAGS=${RPM_OPT_FLAGS} -D_GNU_SOURCE" "CXXFLAGS=${RPM_OPT_FLAGS}"
make %{?jobs:-j%jobs}
+%endif
%check
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/magick/.libs:$PWD/wand/.libs
@@ -173,35 +241,39 @@
make test
%install
-install -d $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/images
-make install \
+%{__install} -d "${RPM_BUILD_ROOT%}"'{_defaultdocdir}/%{name}/images'
+%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
pkgdocdir=%{_defaultdocdir}/%{name}/
-install -m 644 ChangeLog QuickStart.txt README.txt $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/
cd PerlMagick
-make DESTDIR=$RPM_BUILD_ROOT LD_RUN_PATH="%{_libdir}:%{_prefix}/X11R6/%{_lib}" install_vendor
+%{__make} "DESTDIR=${RPM_BUILD_ROOT}" 'LD_RUN_PATH=%{_libdir}:%{_prefix}/X11R6/%{_lib}' install_vendor
%perl_process_packlist
-cd ../Magick++
- rm -rf demo/{.deps,.libs,*.C,*.o,Makefile*,run_demos.bat} `find demo -type f -perm +111`
- mv demo/makefile.2 demo/Makefile
+cd '../Magick++'
+ %{__rm} -rf demo/{.deps,.libs,*.C,*.o,Makefile*,run_demos.bat}
+ PATH='/bin:/usr/bin' find demo -type f -perm +111 -execdir %{__rm} -rf '{}' ';'
+ %{__mv} demo/makefile.2 demo/Makefile
cd ..
+
+%if %{with xtp}
pushd ../xtp-%{xtp_version}
- make DESTDIR=$RPM_BUILD_ROOT install
- install -m 644 README.txt $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/README-xtp.txt
+ %{__make} DESTDIR=$RPM_BUILD_ROOT install
popd
-mv $RPM_BUILD_ROOT%{_datadir}/ImageMagick*/*.xml $RPM_BUILD_ROOT%{_sysconfdir}/ImageMagick*
-mv -f $RPM_BUILD_ROOT%{_datadir}/ImageMagick*/* $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/
-cp -a scenes $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/
-find $RPM_BUILD_ROOT/%{_libdir} -name "*.la" -print0 | xargs -0 -r perl -spi -e "s@ -L/usr/src[^ ]*@@g;s@ /usr/lib/libltdl.la@@g"
-rm -f $RPM_BUILD_ROOT%{_libdir}/libltdl.*
-rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
+%endif
+
+%{__mv} -t "${RPM_BUILD_ROOT}"'%{_sysconfdir}'/%{name}* "${RPM_BUILD_ROOT}"'%{_datadir}'/%{name}*/*.xml
+%{__cp} -a -t "${RPM_BUILD_ROOT}"'%{_defaultdocdir}/%{name}/' scenes
+PATH='/bin:/usr/bin' find "${RPM_BUILD_ROOT}/%{_libdir}" -name "*.la" ! -empty \
+ -execdir %{__sed} -i -e 's@ -L/usr/src[^ ]*@@g' -e 's@ /usr/lib/libltdl.la@@g' '{}' ';'
+%{__rm} -f "${RPM_BUILD_ROOT}"'%{_libdir}'/libltdl.*
+%{__rm} -f "${RPM_BUILD_ROOT}"'%{_libdir}'/*.la
+echo>'%{buildroot}%{_includedir}/%{name}/wand.h' '#include "wand/MagickWand.h"'
%if 0%{?suse_version} > 1020
-%fdupes $RPM_BUILD_ROOT%{_includedir}/ImageMagick/wand
-%fdupes $RPM_BUILD_ROOT%{_datadir}/doc/packages/ImageMagick/www/api
+%fdupes $RPM_BUILD_ROOT%{_includedir}/%{name}/wand
+%fdupes $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/www/api
%endif
%clean
-rm -rf $RPM_BUILD_ROOT
+%{__rm} -rf $RPM_BUILD_ROOT
%post -n libMagickCore%{libver} -p /sbin/ldconfig
@@ -218,14 +290,18 @@
%files
%defattr(-,root,root)
%docdir %{_docdir}/%{name}
-%{_docdir}/%{name}/*.txt
-%{_docdir}/%{name}/ChangeLog
-%{_docdir}/%{name}/LICENSE
+%doc QuickStart.txt README.txt NEWS.txt ChangeLog LICENSE
+%define mfr_docdir %{_defaultdocdir}/../%{name}-%{mfr_version}/packages/%{name}/
+%exclude %{mfr_docdir}ChangeLog
+%exclude %{mfr_docdir}LICENSE
+%exclude %{mfr_docdir}NEWS.txt
%{_bindir}/[^MW]*
%doc %{_mandir}/man1/*
+%exclude %{_mandir}/man1/*-config.1.gz
%files -n libMagickCore%{libver}
%defattr(-,root,root)
+%doc LICENSE
%dir %{_sysconfdir}/ImageMagick*
%config %{_sysconfdir}/ImageMagick*/*
%{_libdir}/libMagickCore.so.%{libver}*
@@ -241,10 +317,12 @@
%files -n libMagickWand%{libver}
%defattr(-,root,root)
+%doc LICENSE
%{_libdir}/libMagickWand.so.%{libver}*
%files extra
%defattr(-,root,root)
+%doc LICENSE
%{_libdir}/ImageMagick*/modules*/*/wmf.so
# don't remove la files, see bnc#579798
%{_libdir}/ImageMagick*/modules*/*/wmf.la
@@ -255,11 +333,13 @@
%files devel
%defattr(-,root,root)
+%doc LICENSE
%{_libdir}/libMagickCore.so
%{_libdir}/libMagickWand.so
%dir %{_includedir}/ImageMagick
%{_includedir}/ImageMagick/magick
%{_includedir}/ImageMagick/wand
+%{_includedir}/ImageMagick/wand.h
%{_bindir}/MagickCore-config
%{_bindir}/MagickWand-config
%{_bindir}/Magick-config
@@ -268,9 +348,12 @@
%{_libdir}/pkgconfig/Wand.pc
%{_libdir}/pkgconfig/MagickCore.pc
%{_libdir}/pkgconfig/MagickWand.pc
+%doc %{_mandir}/man1/*-config.1.gz
+%exclude %{_mandir}/man1/Magick++-config.1.gz
%files -n perl-PerlMagick
%defattr(-,root,root)
+%doc LICENSE
%doc PerlMagick/README.txt
%doc PerlMagick/demo
%if %suse_version < 1140
@@ -282,10 +365,12 @@
%files -n libMagick++%{libver}
%defattr(-,root,root)
+%doc LICENSE
%{_libdir}/libMagick++.so.%{libver}*
%files -n libMagick++-devel
%defattr(-,root,root)
+%doc LICENSE
%doc Magick++/demo
%doc Magick++/NEWS Magick++/README Magick++/AUTHORS
%{_libdir}/libMagick++.so
@@ -294,14 +379,17 @@
%{_bindir}/Magick++-config
%{_libdir}/pkgconfig/ImageMagick++.pc
%{_libdir}/pkgconfig/Magick++.pc
+%doc %{_mandir}/man1/Magick++-config.1.gz
%files doc
%defattr(-,root,root)
%dir %{_docdir}/%{name}
+%if 0
%{_docdir}/%{name}/index.html
%{_docdir}/%{name}/www
%{_docdir}/%{name}/images
%{_docdir}/%{name}/scenes
+%endif
%description
ImageMagick is a robust collection of tools and libraries to read,
++++++ ImageMagick-6.6.8-9.tar.bz2 -> ImageMagick-6.6.9-5.tar.bz2 ++++++
ImageMagick/ImageMagick-6.6.8-9.tar.bz2 /mounts/work_src_done/STABLE/ImageMagick/ImageMagick-6.6.9-5.tar.bz2 differ: char 11, line 1
++++++ ImageMagick-6.6.9.1-inc-struct.diff ++++++
++++ 1044 lines (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package udisks for openSUSE:Factory
checked in at Wed Apr 27 09:10:13 CEST 2011.
--------
--- udisks/udisks.changes 2010-12-20 10:29:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/udisks/udisks.changes 2011-04-26 20:29:01.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 26 20:18:38 CEST 2011 - kay.sievers(a)novell.com
+
+- Fix: Arbitrary LKMs from /lib/modules can be loaded
+ CVE-2010-4661 (bnc#653900)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
udisks-kernel-module-load-fix.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ udisks.spec ++++++
--- /var/tmp/diff_new_pack.nMvaxd/_old 2011-04-27 09:08:23.000000000 +0200
+++ /var/tmp/diff_new_pack.nMvaxd/_new 2011-04-27 09:08:23.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package udisks (Version 1.0.2)
+# spec file for package udisks
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,7 +20,7 @@
Name: udisks
Version: 1.0.2
-Release: 1
+Release: 5
License: GPLv2+
Summary: Disk Management Service
Url: http://cgit.freedesktop.org/udisks/
@@ -47,6 +47,13 @@
#BuildRequires: zlib-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Patch10: udisks-kernel-module-load-fix.patch
+
+# Upstream First - Policy:
+# Never add any patches to this package without the upstream commit id
+# in the patch. Any patches added here without a very good reason to make
+# an exception will be silently removed with the next version update.
+
%description
udisks provides a daemon, D-Bus API and command line tools
for managing disks and storage devices.
@@ -66,6 +73,7 @@
%prep
%setup -q
+%patch10 -p1
%build
export V=1
@@ -77,7 +85,7 @@
%install
%makeinstall
-find %{buildroot}%{_libdir} -name '*.la' -delete -print
+find %{buildroot}%{_libdir} -name '*.la' -delete -print >/dev/null 2>&1 || :
# Not allowed to install into /sbin so move it to /usr/sbin (see bnc#504064)
mkdir -p %{buildroot}%{_sbindir}
mv %{buildroot}/sbin/umount.udisks %{buildroot}%{_sbindir}
++++++ udisks-kernel-module-load-fix.patch ++++++
>From c933a929f07421ec747cebb24d5e620fc2b97037 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Tue, 15 Mar 2011 13:20:44 +0000
Subject: Bug 32232 – CVE-2010-4661: Arbitrary kernel module load
Validate what is passed to the mount(8) command. In particular, only
allow either well-known filesystems, filesystems already loaded or
filesystem explicitly allowed by the administrator via the
/etc/filesystems file.
See https://bugs.freedesktop.org/show_bug.cgi?id=32232 for details.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/device.c b/src/device.c
index 21d9530..d6595b8 100644
--- a/src/device.c
+++ b/src/device.c
@@ -5891,6 +5891,27 @@ static const FSMountOptions fs_mount_options[] =
{ "udf", udf_defaults, udf_allow, udf_allow_uid_self, udf_allow_gid_self },
};
+static const gchar *well_known_filesystems[] =
+{
+ "btrfs",
+ "ext2",
+ "ext3",
+ "ext4",
+ "udf",
+ "iso9660",
+ "xfs",
+ "jfs",
+ "nilfs",
+ "reiserfs",
+ "reiser4",
+ "msdos",
+ "umsdos",
+ "vfat",
+ "exfat"
+ "ntfs",
+ NULL,
+};
+
/* ------------------------------------------------ */
static int num_fs_mount_options = sizeof(fs_mount_options) / sizeof(FSMountOptions);
@@ -6225,6 +6246,86 @@ filesystem_mount_completed_cb (DBusGMethodInvocation *context,
}
}
+static gboolean
+is_in_filesystem_file (const gchar *filesystems_file,
+ const gchar *fstype)
+{
+ gchar *filesystems;
+ GError *error;
+ gboolean ret;
+ gchar **lines;
+ guint n;
+
+ ret = FALSE;
+ filesystems = NULL;
+ lines = NULL;
+
+ error = NULL;
+ if (!g_file_get_contents (filesystems_file,
+ &filesystems,
+ NULL, /* gsize *out_length */
+ &error))
+ {
+ g_warning ("Error reading /etc/filesystems: %s (%s %d)",
+ error->message,
+ g_quark_to_string (error->domain),
+ error->code);
+ g_error_free (error);
+ goto out;
+ }
+
+ lines = g_strsplit (filesystems, "\n", -1);
+ for (n = 0; lines != NULL && lines[n] != NULL && !ret; n++)
+ {
+ gchar **tokens;
+ gint num_tokens;
+ g_strdelimit (lines[n], " \t", ' ');
+ g_strstrip (lines[n]);
+ tokens = g_strsplit (lines[n], " ", -1);
+ num_tokens = g_strv_length (tokens);
+ if (num_tokens == 1 && g_strcmp0 (tokens[0], fstype) == 0)
+ {
+ ret = TRUE;
+ }
+ g_strfreev (tokens);
+ }
+
+ out:
+ g_strfreev (lines);
+ g_free (filesystems);
+ return ret;
+}
+
+static gboolean
+is_well_known_filesystem (const gchar *fstype)
+{
+ gboolean ret;
+ guint n;
+
+ ret = FALSE;
+ for (n = 0; well_known_filesystems[n] != NULL; n++)
+ {
+ if (g_strcmp0 (well_known_filesystems[n], fstype) == 0)
+ {
+ ret = TRUE;
+ goto out;
+ }
+ }
+ out:
+ return ret;
+}
+
+/* this is not a very efficient implementation but it's very rarely
+ * called so no real point in optimizing it...
+ */
+static gboolean
+is_allowed_filesystem (const gchar *fstype)
+{
+ return is_well_known_filesystem (fstype) ||
+ is_in_filesystem_file ("/proc/filesystems", fstype) ||
+ is_in_filesystem_file ("/etc/filesystems", fstype);
+}
+
static void
device_filesystem_mount_authorized_cb (Daemon *daemon,
Device *device,
@@ -6255,6 +6356,35 @@ device_filesystem_mount_authorized_cb (Daemon *daemon,
remove_dir_on_unmount = FALSE;
error = NULL;
+ /* If the user requests the filesystem type, error out unless the
+ * filesystem type is
+ *
+ * - well-known [1]; or
+ * - in the /etc/filesystems file; or
+ * - in the /proc/filesystems file
+ *
+ * We do this because mount(8) on Linux allows loading any arbitrary
+ * kernel module (when invoked as root) by passing something appropriate
+ * to the -t option. So we have to validate whatever we pass.
+ *
+ * See https://bugs.freedesktop.org/show_bug.cgi?id=32232 for more
+ * details.
+ *
+ * [1] : since /etc/filesystems may be horribly out of date and not
+ * contain e.g. ext4
+ */
+ if (filesystem_type != NULL && strlen (filesystem_type) > 0 &&
+ g_strcmp0 (filesystem_type, "auto") != 0)
+ {
+ if (!is_allowed_filesystem (filesystem_type))
+ {
+ throw_error (context, ERROR_FAILED,
+ "Requested filesystem type is neither well-known nor "
+ "in /proc/filesystems nor in /etc/filesystems");
+ goto out;
+ }
+ }
+
daemon_local_get_uid (device->priv->daemon, &caller_uid, context);
if (device->priv->id_usage == NULL || strcmp (device->priv->id_usage, "filesystem") != 0)
--
cgit v0.8.3-6-g21f6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package Mesa for openSUSE:Factory
checked in at Wed Apr 27 09:08:13 CEST 2011.
--------
--- Mesa/Mesa.changes 2011-01-08 22:09:19.000000000 +0100
+++ /mounts/work_src_done/STABLE/Mesa/Mesa.changes 2011-03-30 10:15:58.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Mar 30 08:15:37 UTC 2011 - fcrozat(a)novell.com
+
+- Enable gallium driver for radeon and r600
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Mesa.spec ++++++
--- /var/tmp/diff_new_pack.tjL40x/_old 2011-04-27 09:03:51.000000000 +0200
+++ /var/tmp/diff_new_pack.tjL40x/_new 2011-04-27 09:03:51.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package Mesa (Version 7.10)
+# spec file for package Mesa
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,11 +18,12 @@
# norootforbuild
%define enable_nouveau 1
+%define enable_radeon_gallium 1
%define _version 7.10
Version: 7.10
-Release: 1
+Release: 6
Name: Mesa
BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel
@@ -168,6 +169,10 @@
%if %enable_nouveau
--enable-gallium-nouveau \
%endif
+%if %enable_radeon_gallium
+ --enable-gallium-radeon \
+ --enable-gallium-r600 \
+%endif
%endif
%ifarch ppc %sparc hppa
%if 0%{?suse_version} >= 1130
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package aaa_base for openSUSE:Factory
checked in at Wed Apr 27 09:03:41 CEST 2011.
--------
--- aaa_base/aaa_base.changes 2011-04-21 11:14:28.000000000 +0200
+++ /mounts/work_src_done/STABLE/aaa_base/aaa_base.changes 2011-04-26 18:32:58.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 26 16:32:18 UTC 2011 - werner(a)suse.de
+
+- Mount memory based file systems found in /etc/fstab (bnc#675542)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aaa_base.spec ++++++
--- /var/tmp/diff_new_pack.MbVZAa/_old 2011-04-27 09:00:43.000000000 +0200
+++ /var/tmp/diff_new_pack.MbVZAa/_new 2011-04-27 09:00:43.000000000 +0200
@@ -21,7 +21,7 @@
Name: aaa_base
Version: 11.5
-Release: 69
+Release: 71
License: GPLv2+
Group: System/Fhs
Url: http://gitorious.org/opensuse/aaa_base
++++++ aaa_base.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aaa_base/files/etc/init.d/boot.localfs new/aaa_base/files/etc/init.d/boot.localfs
--- old/aaa_base/files/etc/init.d/boot.localfs 2011-04-21 11:05:12.000000000 +0200
+++ new/aaa_base/files/etc/init.d/boot.localfs 2011-04-26 18:30:50.000000000 +0200
@@ -102,6 +102,23 @@
test $timeout -eq 0 && echo " timeout! "
}
+memfs_nonudev ()
+{
+ local none on mnt tag type opts
+ mount -afnv -t $mntfs -O no_netdev -O nonofail 2> /dev/null | \
+ while read none on mnt tag type opts ; do
+ test "$mnt" = already && continue
+ case "$type" in
+ proc) [[ $mnt =~ /proc* ]] && continue ;;
+ sysfs) [[ $mnt =~ /sys* ]] && continue ;;
+ dev*) [[ $mnt =~ /dev* ]] && continue ;;
+ cgroup*) [[ $mnt =~ /sys* ]] && continue ;;
+ cpuset*) [[ $mnt =~ /sys* ]] && continue ;;
+ esac
+ mount $mnt
+ done
+}
+
#
# Return the shadow mount points of an AuFS
#
@@ -242,23 +259,41 @@
if ! test -L /etc/mtab; then
mount -fv -t proc proc /proc
mount -fv -t sysfs sysfs /sys
- #
- HAVE_DEBUGFS=0
DEVTMPFS=tmpfs
- while read dev type ; do
- test "$type" = "debugfs" && HAVE_DEBUGFS=1
- test "$type" = "devtmpfs" && DEVTMPFS=devtmpfs
- done < /proc/filesystems
-
- if test -d /sys/kernel/debug -a "$HAVE_DEBUGFS" = "1" ; then
- mount -fv -t debugfs debugfs /sys/kernel/debug
- fi
+ case "$memfs" in
+ *,devtmpfs,*) DEVTMPFS=devtmpfs
+ esac
mount -fv -t $DEVTMPFS -o mode=0755 $DEVTMPFS /dev
rc_status
mount -fv -t tmpfs -o mode=1777 tmpfs /dev/shm
mount -fv -t devpts -o mode=0620,gid=5 devpts /dev/pts
rc_status
fi
+ if test -d /sys/kernel/debug -a "$(stat -fc '%T' /sys/kernel/debug)" != debugfs ; then
+ case "$memfs" in
+ *,debugfs,*)
+ mount -t debugfs debugfs /sys/kernel/debug
+ esac
+ fi
+ if test -d /sys/kernel/security -a "$(stat -fc '%T' /sys/kernel/security)" != securityfs ; then
+ case "$memfs" in
+ *,securityfs,*)
+ mount -t securityfs securityfs /sys/kernel/security
+ esac
+ fi
+ if test -d /sys/fs/cgroup -a "$(stat -fc '%T' /sys/fs/cgroup)" != tmpfs ; then
+ case "$memfs" in
+ *,cgroup,*)
+ mount -t tmpfs -o nosuid,nodev,noexec,mode=755 tmpfs /sys/fs/cgroup && \
+ mkdir /sys/fs/cgroup/systemd && \
+ mount -t cgroup -o nosuid,nodev,noexec,none,name=systemd cgroup /sys/fs/cgroup/systemd
+ esac
+ case "$memfs" in
+ *,cpuset,*)
+ mkdir /sys/fs/cgroup/cpuset && \
+ mount -t cgroup -o nosuid,nodev,noexec,cpuset cpuset /sys/fs/cgroup/cpuset
+ esac
+ fi
# remount to make sure options from fstab are honoured
mount -oremount /proc
mount -oremount /sys
@@ -269,6 +304,9 @@
# mount the rest
mount -av -t $nofs -O no_netdev
rc_status -v1 -r
+
+ # now handle uncommon mount points
+ memfs_nonudev
;;
stop)
mounts=/etc/fstab
@@ -328,19 +366,24 @@
/proc*) continue ;;
/sys*) continue ;;
/cgroup*) continue ;;
+ /sys/fs/*) continue ;;
+ /sys/kernel/*)
+ continue ;;
/var/lib/nfs/rpc_pipefs)
continue ;;
esac
case ",$rskip," in
*,$fs,*) continue ;;
esac
- ulist="${ulist:+$ulist }$fs"
case "$fs" in
- /tmp) continue ;;
- /var/tmp) continue ;;
+ /tmp) ulist="${ulist:+$ulist }$fs"
+ continue ;;
+ /var/tmp) ulist="${ulist:+$ulist }$fs"
+ continue ;;
esac
case ",$mntfs," in
*,$type,*) umount $mtab -t $type $fs ;;
+ *) ulist="${ulist:+$ulist }$fs"
esac
done < ${rvtab}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
FYI: Package intel-iamt was dropped from openSUSE:Factory at Wed Apr 27 08:59:27 CEST 2011.
You can find the latest sources of the package in the
openSUSE:Dropped
repository:
https://build.opensuse.org/package/show?project=openSUSE:Dropped&package=in…
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libreoffice-languagetool for openSUSE:11.4
checked in at Tue Apr 26 18:50:51 CEST 2011.
--------
--- old-versions/11.4/all/libreoffice-languagetool/libreoffice-languagetool.changes 2011-02-13 22:11:40.000000000 +0100
+++ /d/11.4/libreoffice-languagetool/libreoffice-languagetool.changes 2011-04-26 18:43:48.805484000 +0200
@@ -1,0 +2,6 @@
+Mon Mar 7 14:54:51 CET 2011 - pmladek(a)suse.cz
+
+- fixed handling of the architecture dependant symlinks
+ (bnc#677354, bnc#665112, swampid#39716)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.4/all/libreoffice-languagetool
Destination is old-versions/11.4/UPDATES/all/libreoffice-languagetool
calling whatdependson for 11.4-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-languagetool.spec ++++++
--- /var/tmp/diff_new_pack.WQNOnw/_old 2011-04-26 18:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.WQNOnw/_new 2011-04-26 18:50:42.000000000 +0200
@@ -20,7 +20,7 @@
Name: libreoffice-languagetool
Version: 1.2
-Release: 1
+Release: 6.<RELEASE7>
BuildRequires: ant java-devel libreoffice-ure unzip
#!BuildIgnore: libreoffice
%define ooo_prefix %_libdir
@@ -360,17 +360,26 @@
# common README.txt
echo "%doc README.txt" >>files-langtool-$lang.txt
done
+# we need to create architecture dependent symlinks even for the main package
+# create file list for link-to-ooo-home script
+find $RPM_BUILD_ROOT%_datadir/%ooo_home/share/extensions/languagetool-%version/ -type d \
+ -printf "%%%%dir %_datadir/%ooo_home/share/extensions/languagetool-%version/%%P\n" \
+ >files-langtool.txt
+find $RPM_BUILD_ROOT%_datadir/%ooo_home/share/extensions/languagetool-%version/ -type f \
+ -printf "%_datadir/%ooo_home/share/extensions/languagetool-%version/%%P\n" \
+ >>files-langtool.txt
+cp files-langtool.txt $RPM_BUILD_ROOT%_datadir/%ooo_home
+echo "%_datadir/%ooo_home/files-langtool.txt" >>files-langtool.txt
%clean
rm -rf $RPM_BUILD_ROOT
-%files
+%files -f files-langtool.txt
%defattr(-,root,root)
%doc CHANGES.txt COPYING.txt README.txt libs/*.txt libs/build/junit-license.txt
%dir %_datadir/%ooo_home
%dir %_datadir/%ooo_home/share
%dir %_datadir/%ooo_home/share/extensions
-%_datadir/%ooo_home/share/extensions/languagetool-%version
%pre
if test -f %_datadir/ooo3/share/extension/install/LanguageTool-*.oxt ; then
@@ -387,16 +396,22 @@
echo "WARNING: works with the LO cache. The LO installation will be correct!"
echo
fi
+# the initial libreoffice packages symlinked the whole directory a wrong way (bnc#677354)
+home_path="%ooo_home/share/extensions/languagetool-%version"
+for link in "/usr/lib/$home_path" "/usr/lib64/$home_path" ; do
+ test -L "$link" && rm "$link" || true
+done
%post
# link to the directory where the extenisons is automatically detected
-mkdir -p %ooo_prefix/%ooo_home/share/extensions || exit 0;
-ln -sf %_datadir/%ooo_home/share/extensions/languagetool-%version %ooo_prefix/%ooo_home/share/extensions/languagetool-%version || exit 0;
+%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool.txt || true
+
+%preun
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool.txt %_datadir/%ooo_home/files-langtool.txt.postun || true
%postun
-# remove the arch-dependent link from /usr/lib(64)
-link=%ooo_prefix/%ooo_home/share/extensions/languagetool-%version
-test -L "$link" -a ! -r "$link" && rm "$link" || exit 0;
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool.txt.postun 2>/dev/null
########################################################
# Start of a section generated by lo-langtool-gen-spec
@@ -413,91 +428,143 @@
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-ca.txt || true
%preun -n libreoffice-languagetool-ca
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ca.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-ca.txt %_datadir/%ooo_home/files-langtool-ca.txt.postun || true
+
+%postun -n libreoffice-languagetool-ca
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ca.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-ca.txt.postun 2>/dev/null
# de
%posttrans -n libreoffice-languagetool-de
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-de.txt || true
%preun -n libreoffice-languagetool-de
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-de.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-de.txt %_datadir/%ooo_home/files-langtool-de.txt.postun || true
+
+%postun -n libreoffice-languagetool-de
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-de.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-de.txt.postun 2>/dev/null
# en
%posttrans -n libreoffice-languagetool-en
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-en.txt || true
%preun -n libreoffice-languagetool-en
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-en.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-en.txt %_datadir/%ooo_home/files-langtool-en.txt.postun || true
+
+%postun -n libreoffice-languagetool-en
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-en.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-en.txt.postun 2>/dev/null
# es
%posttrans -n libreoffice-languagetool-es
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-es.txt || true
%preun -n libreoffice-languagetool-es
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-es.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-es.txt %_datadir/%ooo_home/files-langtool-es.txt.postun || true
+
+%postun -n libreoffice-languagetool-es
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-es.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-es.txt.postun 2>/dev/null
# fr
%posttrans -n libreoffice-languagetool-fr
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-fr.txt || true
%preun -n libreoffice-languagetool-fr
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-fr.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-fr.txt %_datadir/%ooo_home/files-langtool-fr.txt.postun || true
+
+%postun -n libreoffice-languagetool-fr
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-fr.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-fr.txt.postun 2>/dev/null
# gl
%posttrans -n libreoffice-languagetool-gl
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-gl.txt || true
%preun -n libreoffice-languagetool-gl
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-gl.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-gl.txt %_datadir/%ooo_home/files-langtool-gl.txt.postun || true
+
+%postun -n libreoffice-languagetool-gl
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-gl.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-gl.txt.postun 2>/dev/null
# it
%posttrans -n libreoffice-languagetool-it
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-it.txt || true
%preun -n libreoffice-languagetool-it
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-it.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-it.txt %_datadir/%ooo_home/files-langtool-it.txt.postun || true
+
+%postun -n libreoffice-languagetool-it
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-it.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-it.txt.postun 2>/dev/null
# nl
%posttrans -n libreoffice-languagetool-nl
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-nl.txt || true
%preun -n libreoffice-languagetool-nl
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-nl.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-nl.txt %_datadir/%ooo_home/files-langtool-nl.txt.postun || true
+
+%postun -n libreoffice-languagetool-nl
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-nl.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-nl.txt.postun 2>/dev/null
# pl
%posttrans -n libreoffice-languagetool-pl
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-pl.txt || true
%preun -n libreoffice-languagetool-pl
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-pl.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-pl.txt %_datadir/%ooo_home/files-langtool-pl.txt.postun || true
+
+%postun -n libreoffice-languagetool-pl
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-pl.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-pl.txt.postun 2>/dev/null
# ro
%posttrans -n libreoffice-languagetool-ro
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-ro.txt || true
%preun -n libreoffice-languagetool-ro
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ro.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-ro.txt %_datadir/%ooo_home/files-langtool-ro.txt.postun || true
+
+%postun -n libreoffice-languagetool-ro
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ro.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-ro.txt.postun 2>/dev/null
# ru
%posttrans -n libreoffice-languagetool-ru
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-ru.txt || true
%preun -n libreoffice-languagetool-ru
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ru.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-ru.txt %_datadir/%ooo_home/files-langtool-ru.txt.postun || true
+
+%postun -n libreoffice-languagetool-ru
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-ru.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-ru.txt.postun 2>/dev/null
# sk
%posttrans -n libreoffice-languagetool-sk
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-sk.txt || true
%preun -n libreoffice-languagetool-sk
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-sk.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-sk.txt %_datadir/%ooo_home/files-langtool-sk.txt.postun || true
+
+%postun -n libreoffice-languagetool-sk
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-sk.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-sk.txt.postun 2>/dev/null
# sv
%posttrans -n libreoffice-languagetool-sv
%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-sv.txt || true
%preun -n libreoffice-languagetool-sv
-test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-sv.txt || true
+test "$1" = "0" && cp %_datadir/%ooo_home/files-langtool-sv.txt %_datadir/%ooo_home/files-langtool-sv.txt.postun || true
+
+%postun -n libreoffice-languagetool-sv
+test "$1" = "0" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-sv.txt.postun || true
+rm -f %_datadir/%ooo_home/files-langtool-sv.txt.postun 2>/dev/null
#
# langtool dictionaries
#
++++++ lo-LanguageTool-gen-spec ++++++
--- /var/tmp/diff_new_pack.WQNOnw/_old 2011-04-26 18:50:42.000000000 +0200
+++ /var/tmp/diff_new_pack.WQNOnw/_new 2011-04-26 18:50:42.000000000 +0200
@@ -142,7 +142,11 @@
print "%_datadir/%ooo_home/link-to-ooo-home %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt || true\n";
print "\n";
print "%preun -n libreoffice-languagetool-$curLang\n";
- print "test \"\$1\" = \"0\" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt || true\n";
+ print "test \"\$1\" = \"0\" && cp %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt.postun || true\n";
+ print "\n";
+ print "%postun -n libreoffice-languagetool-$curLang\n";
+ print "test \"\$1\" = \"0\" && %_datadir/%ooo_home/link-to-ooo-home --unlink %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt.postun || true\n";
+ print "rm -f %_datadir/%ooo_home/files-langtool-$datap->{$curLang}{'locale'}.txt.postun 2>/dev/null\n"
}
sub write_langtool_files_section($$)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:11.4
checked in at Tue Apr 26 18:36:22 CEST 2011.
--------
--- old-versions/11.4/UPDATES/all/kernel-source/kernel-debug.changes 2011-04-11 21:43:38.000000000 +0200
+++ 11.4/kernel-source/kernel-debug.changes 2011-04-26 07:00:59.000000000 +0200
@@ -1,0 +2,201 @@
+Mon Apr 25 21:48:33 CEST 2011 - jeffm(a)suse.com
+
+- xen/i386: Add missing END for spurious_interrupt_bug.
+- commit d0f6e4d
+
+-------------------------------------------------------------------
+Mon Apr 25 16:32:03 CEST 2011 - jeffm(a)suse.com
+
+- Enabled patches.kabi/sched-autogroup-fix-rt-group-sched.
+- commit 3f5a598
+
+-------------------------------------------------------------------
+Mon Apr 25 16:25:08 CEST 2011 - jeffm(a)suse.com
+
+- kABI: Guard changes to struct autogroup (bnc#680510).
+- commit 505e072
+
+-------------------------------------------------------------------
+Mon Apr 25 16:14:46 CEST 2011 - jeffm(a)suse.com
+
+- sched, autogroup: fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure (bnc#680510).
+ The change is safe other than needing kABI guards.
+- commit f417a2b
+
+-------------------------------------------------------------------
+Fri Apr 22 17:12:34 CEST 2011 - jeffm(a)suse.com
+
+- Revert "- sched, autogroup: fix CONFIG_RT_GROUP_SCHED sched_setscheduler() failure (bnc#680510)."
+ This reverts commit e4e6f9738a1ac4837777f6480268c6cb56722d0c.
+ This patch modified struct autogroup, which caused massive kABI changes.
+- commit 401f90a
+
+-------------------------------------------------------------------
+Thu Apr 21 19:54:15 CEST 2011 - jbohac(a)suse.cz
+
+- bridge: fix 802.3ad bonding (bnc#685469).
+- commit 46ab2e4
+
+-------------------------------------------------------------------
+Thu Apr 21 13:06:39 CEST 2011 - sjayaraman(a)suse.de
+
+- Revert "net/sunrpc: Use static const char arrays" (bnc#668880).
+- commit 446cab2
+
+-------------------------------------------------------------------
+Wed Apr 20 11:26:44 CEST 2011 - jdelvare(a)suse.de
+
+- i2c-algo-bit: Call pre/post_xfer for bit_test (bnc#669937,
+ freedesktop#36221).
+- commit 0eb4b26
+
+-------------------------------------------------------------------
+Tue Apr 19 22:48:18 CEST 2011 - jack(a)suse.cz
+
+- ext4: fix ext4_da_block_invalidatepages() to handle page range
+ properly (bnc#679898).
+- commit 9445b77
+
+-------------------------------------------------------------------
+Tue Apr 19 21:40:35 CEST 2011 - jslaby(a)suse.cz
+
+- mm: prevent concurrent unmap_mapping_range() on the same inode.
+- Refresh
+ patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch.
+- commit f44f181
+
+-------------------------------------------------------------------
+Tue Apr 19 18:57:55 CEST 2011 - jack(a)suse.cz
+
+- ext4: mark multi-page IO complete on mapping failure
+ (bnc#679898).
+- commit 39ff8fe
+
+-------------------------------------------------------------------
+Tue Apr 19 17:14:09 CEST 2011 - jeffm(a)suse.com
+
+- Updated Patch-mainline for patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d.
+- commit 3d54583
+
+-------------------------------------------------------------------
+Tue Apr 19 15:39:07 CEST 2011 - jeffm(a)suse.com
+
+- KABI: Re-export shrink_dcache_for_umount_subtree.
+- commit cc0aa7f
+
+-------------------------------------------------------------------
+Mon Apr 18 19:54:55 CEST 2011 - jslaby(a)suse.cz
+
+- block: revert __invalidate_device prototype change.
+- Delete
+ patches.kabi/revert-Fix-over-zealous-flush_disk-when-changing-dev.patch.
+- commit be37261
+
+-------------------------------------------------------------------
+Mon Apr 18 19:40:23 CEST 2011 - jslaby(a)suse.cz
+
+- block: revert __blk_run_queue prototype change.
+- Delete
+ patches.kabi/blk-revert-add-force_kblockd-to-__blk_run_queue.patch.
+- Delete
+ patches.kabi/blk-revert-blk-flush-shouldn-t-call-directly-into-.patch.
+- commit 24a2e21
+
+-------------------------------------------------------------------
+Mon Apr 18 17:33:56 CEST 2011 - jslaby(a)suse.cz
+
+- Revert "Fix over-zealous flush_disk when changing device size.".
+- commit 1dea4c1
+
+-------------------------------------------------------------------
+Mon Apr 18 17:28:46 CEST 2011 - jslaby(a)suse.cz
+
+- SoN: fix kABI breakage.
+- Revert "block: add @force_kblockd to __blk_run_queue()".
+- Revert "block: blk-flush shouldn't call directly into
+ q->request_fn() __blk_run_queue()".
+- Revert "mm: prevent concurrent unmap_mapping_range() on the
+ same inode".
+- DRM: revert drm_device num_crtcs change.
+- Block: export lost functions.
+- FUSE: fuse_req kABI guard.
+- MD: mddev_s kABI guard.
+- commit 8e97c09
+
+-------------------------------------------------------------------
+Mon Apr 18 15:49:58 CEST 2011 - jslaby(a)suse.cz
+
+- ethtool: guard against compat.h.
+- commit 33844c8
+
+-------------------------------------------------------------------
+Mon Apr 18 15:47:24 CEST 2011 - jslaby(a)suse.cz
+
+- patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch:
+ Move to patches.arch where it belongs.
+- commit a116831
+
+-------------------------------------------------------------------
+Sun Apr 17 22:25:26 CEST 2011 - jeffm(a)suse.de
+
+- Update reference module symbol versions.
+- commit ed9da6e
+
+-------------------------------------------------------------------
+Fri Apr 15 22:17:21 CEST 2011 - jeffm(a)suse.com
+
+- libata: DVR-216D can't do SETXFER DVD-RW DVR-216D (bnc#679143).
+- libata: DVR-212D can't do SETXFER DVD-RW DVR-212D.
+- commit b7aca8a
+
+-------------------------------------------------------------------
+Fri Apr 15 00:28:16 CEST 2011 - bphilips(a)suse.de
+
+- bonding: Incorrect TX queue offset (bnc#687116, CVE-2011-1581).
+- commit 9efcee8
+
+-------------------------------------------------------------------
+Thu Apr 14 19:46:42 CEST 2011 - jeffm(a)suse.com
+
+- char/tpm: Fix unitialized usage of data buffer (bnc#680040
+ CVE-2011-1160).
+- commit 97c1e00
+
+-------------------------------------------------------------------
+Thu Apr 14 18:44:56 CEST 2011 - jeffm(a)suse.com
+
+- fs/partitions/efi.c: corrupted GUID partition tables can cause
+ kernel oops (bnc#687113 CVE-2011-1577).
+- commit b350a92
+
+-------------------------------------------------------------------
+Thu Apr 14 01:28:00 CEST 2011 - jeffm(a)suse.com
+
+- drivers/leds/leds-lp5523.c: world-writable engine* sysfs files
+ (bnc#673934).
+- drivers/leds/leds-lp5521.c: world-writable sysfs engine* files
+ (bnc#673934).
+- mfd: ab8500: world-writable debugfs register-* files
+ (bnc#673934).
+- scsi_transport_iscsi: make priv_sess file writeable only by root
+ (bnc#673934).
+- mfd: ab3500: world-writable debugfs register-* files
+ (bnc#673934).
+- drivers/misc/ep93xx_pwm.c: world-writable sysfs files
+ (bnc#673934).
+- mfd: ab3100: world-writable debugfs *_priv files (bnc#673934).
+- UBIFS: restrict world-writable debugfs files (bnc#673934).
+- scsi: aic94xx: world-writable sysfs update_bios file.
+- drivers/rtc/rtc-ds1511.c: world-writable sysfs nvram file
+ (bnc#673934).
+- video: sn9c102: world-wirtable sysfs files (bnc#673934).
+- commit c30fedb
+
+-------------------------------------------------------------------
+Wed Apr 13 23:57:58 CEST 2011 - jeffm(a)suse.com
+
+- irda: validate peer name and attribute lengths (bnc#681497
++++ 12 more lines (skipped)
++++ between old-versions/11.4/UPDATES/all/kernel-source/kernel-debug.changes
++++ and 11.4/kernel-source/kernel-debug.changes
kernel-default.changes: same change
kernel-desktop.changes: same change
kernel-docs.changes: same change
kernel-ec2.changes: same change
kernel-net.changes: same change
kernel-pae.changes: same change
kernel-ppc64.changes: same change
kernel-ps3.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-trace.changes: same change
kernel-vanilla.changes: same change
kernel-vmi.changes: same change
kernel-xen.changes: same change
calling whatdependson for 11.4-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
kernel-default.spec: same change
kernel-desktop.spec: same change
kernel-docs.spec: same change
kernel-ec2.spec: same change
kernel-net.spec: same change
kernel-pae.spec: same change
kernel-ppc64.spec: same change
kernel-ps3.spec: same change
kernel-s390.spec: same change
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.RKkBBr/_old 2011-04-26 18:29:56.000000000 +0200
+++ /var/tmp/diff_new_pack.RKkBBr/_new 2011-04-26 18:29:56.000000000 +0200
@@ -30,7 +30,7 @@
Name: kernel-source
Summary: The Linux Kernel Sources
Version: 2.6.37.6
-Release: 0.<RELEASE2>
+Release: 0.<RELEASE5>
%if %using_buildservice
%else
%endif
kernel-trace.spec: same change
kernel-vanilla.spec: same change
kernel-vmi.spec: same change
kernel-xen.spec: same change
++++++ kabi.tar.bz2 ++++++
++++ 834869 lines of diff (skipped)
++++++ minmem ++++++
--- /var/tmp/diff_new_pack.RKkBBr/_old 2011-04-26 18:29:58.000000000 +0200
+++ /var/tmp/diff_new_pack.RKkBBr/_new 2011-04-26 18:29:58.000000000 +0200
@@ -1 +1 @@
-2096000
+1048576
++++++ needed_space_in_mb ++++++
--- /var/tmp/diff_new_pack.RKkBBr/_old 2011-04-26 18:29:58.000000000 +0200
+++ /var/tmp/diff_new_pack.RKkBBr/_new 2011-04-26 18:29:58.000000000 +0200
@@ -1 +1 @@
-6000
+6144
++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch new/patches.arch/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch
--- old/patches.arch/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch 2011-04-18 15:47:24.000000000 +0200
@@ -0,0 +1,125 @@
+From 0fc33e5e837dc05367bb7ba1117f061ab4151df5 Mon Sep 17 00:00:00 2001
+From: Jiri Slaby <jslaby(a)suse.cz>
+Date: Wed, 6 Apr 2011 22:37:36 +0200
+Subject: Revert "x86: Cleanup highmap after brk is concluded"
+Patch-mainline: asked to be reverted
+References: bnc#684248
+
+This reverts commit 72f2999e41d09468b29de855ffc02f94e87a675e.
+
+It's crap and breaks resume.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ arch/x86/kernel/head64.c | 3 +++
+ arch/x86/kernel/setup.c | 5 -----
+ arch/x86/mm/init.c | 19 +++++++++++++++++++
+ arch/x86/mm/init_64.c | 11 +++++------
+ 4 files changed, 27 insertions(+), 11 deletions(-)
+
+diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
+index 5655c22..2d2673c 100644
+--- a/arch/x86/kernel/head64.c
++++ b/arch/x86/kernel/head64.c
+@@ -77,6 +77,9 @@ void __init x86_64_start_kernel(char * real_mode_data)
+ /* Make NULL pointers segfault */
+ zap_identity_mappings();
+
++ /* Cleanup the over mapped high alias */
++ cleanup_highmap();
++
+ max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT;
+
+ for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) {
+diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
+index e543fe9..d3cfe26 100644
+--- a/arch/x86/kernel/setup.c
++++ b/arch/x86/kernel/setup.c
+@@ -297,9 +297,6 @@ static void __init init_gbpages(void)
+ static inline void init_gbpages(void)
+ {
+ }
+-static void __init cleanup_highmap(void)
+-{
+-}
+ #endif
+
+ static void __init reserve_brk(void)
+@@ -925,8 +922,6 @@ void __init setup_arch(char **cmdline_p)
+ */
+ reserve_brk();
+
+- cleanup_highmap();
+-
+ memblock.current_limit = get_max_mapped();
+ memblock_x86_fill();
+
+diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
+index f13ff3a..947f42a 100644
+--- a/arch/x86/mm/init.c
++++ b/arch/x86/mm/init.c
+@@ -279,6 +279,25 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+ load_cr3(swapper_pg_dir);
+ #endif
+
++#ifdef CONFIG_X86_64
++ if (!after_bootmem && !start) {
++ pud_t *pud;
++ pmd_t *pmd;
++
++ mmu_cr4_features = read_cr4();
++
++ /*
++ * _brk_end cannot change anymore, but it and _end may be
++ * located on different 2M pages. cleanup_highmap(), however,
++ * can only consider _end when it runs, so destroy any
++ * mappings beyond _brk_end here.
++ */
++ pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
++ pmd = pmd_offset(pud, _brk_end - 1);
++ while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
++ pmd_clear(pmd);
++ }
++#endif
+ __flush_tlb_all();
+
+ if (!after_bootmem && e820_table_end > e820_table_start)
+diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
+index 68f9921..c14a542 100644
+--- a/arch/x86/mm/init_64.c
++++ b/arch/x86/mm/init_64.c
+@@ -51,7 +51,6 @@
+ #include <asm/numa.h>
+ #include <asm/cacheflush.h>
+ #include <asm/init.h>
+-#include <asm/setup.h>
+
+ static int __init parse_direct_gbpages_off(char *arg)
+ {
+@@ -294,18 +293,18 @@ void __init init_extra_mapping_uc(unsigned long phys, unsigned long size)
+ * to the compile time generated pmds. This results in invalid pmds up
+ * to the point where we hit the physaddr 0 mapping.
+ *
+- * We limit the mappings to the region from _text to _brk_end. _brk_end
+- * is rounded up to the 2MB boundary. This catches the invalid pmds as
++ * We limit the mappings to the region from _text to _end. _end is
++ * rounded up to the 2MB boundary. This catches the invalid pmds as
+ * well, as they are located before _text:
+ */
+ void __init cleanup_highmap(void)
+ {
+ unsigned long vaddr = __START_KERNEL_map;
+- unsigned long vaddr_end = __START_KERNEL_map + (max_pfn_mapped << PAGE_SHIFT);
+- unsigned long end = roundup((unsigned long)_brk_end, PMD_SIZE) - 1;
++ unsigned long end = roundup((unsigned long)_end, PMD_SIZE) - 1;
+ pmd_t *pmd = level2_kernel_pgt;
++ pmd_t *last_pmd = pmd + PTRS_PER_PMD;
+
+- for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) {
++ for (; pmd < last_pmd; pmd++, vaddr += PMD_SIZE) {
+ if (pmd_none(*pmd))
+ continue;
+ if (vaddr < (unsigned long) _text || vaddr > end)
+--
+1.7.4.2
+
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/bonding-Incorrect-TX-queue-offset.patch new/patches.fixes/bonding-Incorrect-TX-queue-offset.patch
--- old/patches.fixes/bonding-Incorrect-TX-queue-offset.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/bonding-Incorrect-TX-queue-offset.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,61 @@
+From fd0e435b0fe85622f167b84432552885a4856ac8 Mon Sep 17 00:00:00 2001
+From: Phil Oester <kernel(a)linuxace.com>
+Date: Mon, 14 Mar 2011 06:22:04 +0000
+Subject: [PATCH] bonding: Incorrect TX queue offset
+Git-commit: fd0e435b0fe85622f167b84432552885a4856ac8
+Patch-mainline: v2.6.39-rc1~468^2~15
+Reference: bnc#687116, CVE-2011-1581
+
+When packets come in from a device with >= 16 receive queues
+headed out a bonding interface, syslog gets filled with this:
+
+ kernel: bond0 selects TX queue 16, but real number of TX queues is 16
+
+because queue_mapping is offset by 1. Adjust return value
+to account for the offset.
+
+This is a revision of my earlier patch (which did not use the
+skb_rx_queue_* helpers - thanks to Ben for the suggestion).
+Andy submitted a similar patch which emits a pr_warning on
+invalid queue selection, but I believe the log spew is
+not useful. We can revisit that question in the future,
+but in the interim I believe fixing the core problem is
+worthwhile.
+
+Signed-off-by: Phil Oester <kernel(a)linuxace.com>
+Signed-off-by: Andy Gospodarek <andy(a)greyhouse.net>
+Signed-off-by: David S. Miller <davem(a)davemloft.net>
+Signed-off-by: Brandon Philips <bphilips(a)suse.de>
+
+---
+ drivers/net/bonding/bond_main.c | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
+index 3ad4f50..a93d941 100644
+--- a/drivers/net/bonding/bond_main.c
++++ b/drivers/net/bonding/bond_main.c
+@@ -4341,11 +4341,18 @@ static u16 bond_select_queue(struct net_device *dev, struct sk_buff *skb)
+ {
+ /*
+ * This helper function exists to help dev_pick_tx get the correct
+- * destination queue. Using a helper function skips the a call to
++ * destination queue. Using a helper function skips a call to
+ * skb_tx_hash and will put the skbs in the queue we expect on their
+ * way down to the bonding driver.
+ */
+- return skb->queue_mapping;
++ u16 txq = skb_rx_queue_recorded(skb) ? skb_get_rx_queue(skb) : 0;
++
++ if (unlikely(txq >= dev->real_num_tx_queues)) {
++ do
++ txq -= dev->real_num_tx_queues;
++ while (txq >= dev->real_num_tx_queues);
++ }
++ return txq;
+ }
+
+ static netdev_tx_t bond_start_xmit(struct sk_buff *skb, struct net_device *dev)
+--
+1.7.3.4
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/bridge-fix-802.3ad-bonding.patch new/patches.fixes/bridge-fix-802.3ad-bonding.patch
--- old/patches.fixes/bridge-fix-802.3ad-bonding.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/bridge-fix-802.3ad-bonding.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,22 @@
+From: Jiri Bohac <jbohac(a)suse.cz>
+Subject: bridge: fix 802.3ad bonding
+References: bnc#685469
+
+Prevent LACP frames needed for 802.3ad bonding from being mangled by the
+bridging code if the bonding device is part of a bridge.
+Bug introduced by upstream commit 1e253c3b.
+
+
+diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
+index 648a6dc..d0fe8ed 100644
+--- a/net/bridge/br_input.c
++++ b/net/bridge/br_input.c
+@@ -159,7 +159,7 @@ struct sk_buff *br_handle_frame(struct sk_buff *skb)
+ goto drop;
+
+ /* If STP is turned off, then forward */
+- if (p->br->stp_enabled == BR_NO_STP)
++ if (p->br->stp_enabled == BR_NO_STP && skb->protocol != htons(ETH_P_SLOW))
+ goto forward;
+
+ if (NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/char-tpm-fix-unitialized-usage-of-data-buffer new/patches.fixes/char-tpm-fix-unitialized-usage-of-data-buffer
--- old/patches.fixes/char-tpm-fix-unitialized-usage-of-data-buffer 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/char-tpm-fix-unitialized-usage-of-data-buffer 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,35 @@
+From: Peter Huewe <huewe.external.infineon(a)googlemail.com>
+Date: Tue, 29 Mar 2011 13:31:25 +0200
+Subject: char/tpm: Fix unitialized usage of data buffer
+Patch-mainline: v2.6.39-rc1
+Git-commit: 1309d7afbed112f0e8e90be9af975550caa0076b
+References: bnc#680040 CVE-2011-1160
+
+This patch fixes information leakage to the userspace by initializing
+the data buffer to zero.
+
+Reported-by: Peter Huewe <huewe.external(a)infineon.com>
+Signed-off-by: Peter Huewe <huewe.external(a)infineon.com>
+Signed-off-by: Marcel Selhorst <m.selhorst(a)sirrix.com>
+[ Also removed the silly "* sizeof(u8)". If that isn't 1, we have way
+ deeper problems than a simple multiplication can fix. - Linus ]
+Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/char/tpm/tpm.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
+index 1f46f1c..7beb0e2 100644
+--- a/drivers/char/tpm/tpm.c
++++ b/drivers/char/tpm/tpm.c
+@@ -980,7 +980,7 @@ int tpm_open(struct inode *inode, struct file *file)
+ return -EBUSY;
+ }
+
+- chip->data_buffer = kmalloc(TPM_BUFSIZE * sizeof(u8), GFP_KERNEL);
++ chip->data_buffer = kzalloc(TPM_BUFSIZE, GFP_KERNEL);
+ if (chip->data_buffer == NULL) {
+ clear_bit(0, &chip->is_open);
+ put_device(chip->dev);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drivers-leds-leds-lp5521-c-world-writable-sysfs-engine-files new/patches.fixes/drivers-leds-leds-lp5521-c-world-writable-sysfs-engine-files
--- old/patches.fixes/drivers-leds-leds-lp5521-c-world-writable-sysfs-engine-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drivers-leds-leds-lp5521-c-world-writable-sysfs-engine-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,55 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Tue, 22 Mar 2011 16:30:19 -0700
+Subject: drivers/leds/leds-lp5521.c: world-writable sysfs engine* files
+Patch-mainline: v2.6.39-rc1
+Git-commit: 67d1da79b25c05d9a38b820bb5b5d89c91070ab2
+Introduced-by: v2.6.37-rc2
+References: bnc#673934
+
+Don't allow everybody to change LED settings.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Cc: Richard Purdie <rpurdie(a)rpsys.net>
+Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/leds/leds-lp5521.c | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/leds/leds-lp5521.c b/drivers/leds/leds-lp5521.c
+index 80a3ae3..c0cff64 100644
+--- a/drivers/leds/leds-lp5521.c
++++ b/drivers/leds/leds-lp5521.c
+@@ -534,7 +534,7 @@ static ssize_t lp5521_selftest(struct device *dev,
+ }
+
+ /* led class device attributes */
+-static DEVICE_ATTR(led_current, S_IRUGO | S_IWUGO, show_current, store_current);
++static DEVICE_ATTR(led_current, S_IRUGO | S_IWUSR, show_current, store_current);
+ static DEVICE_ATTR(max_current, S_IRUGO , show_max_current, NULL);
+
+ static struct attribute *lp5521_led_attributes[] = {
+@@ -548,15 +548,15 @@ static struct attribute_group lp5521_led_attribute_group = {
+ };
+
+ /* device attributes */
+-static DEVICE_ATTR(engine1_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine1_mode, S_IRUGO | S_IWUSR,
+ show_engine1_mode, store_engine1_mode);
+-static DEVICE_ATTR(engine2_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine2_mode, S_IRUGO | S_IWUSR,
+ show_engine2_mode, store_engine2_mode);
+-static DEVICE_ATTR(engine3_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine3_mode, S_IRUGO | S_IWUSR,
+ show_engine3_mode, store_engine3_mode);
+-static DEVICE_ATTR(engine1_load, S_IWUGO, NULL, store_engine1_load);
+-static DEVICE_ATTR(engine2_load, S_IWUGO, NULL, store_engine2_load);
+-static DEVICE_ATTR(engine3_load, S_IWUGO, NULL, store_engine3_load);
++static DEVICE_ATTR(engine1_load, S_IWUSR, NULL, store_engine1_load);
++static DEVICE_ATTR(engine2_load, S_IWUSR, NULL, store_engine2_load);
++static DEVICE_ATTR(engine3_load, S_IWUSR, NULL, store_engine3_load);
+ static DEVICE_ATTR(selftest, S_IRUGO, lp5521_selftest, NULL);
+
+ static struct attribute *lp5521_attributes[] = {
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drivers-leds-leds-lp5523-c-world-writable-engine-sysfs-files new/patches.fixes/drivers-leds-leds-lp5523-c-world-writable-engine-sysfs-files
--- old/patches.fixes/drivers-leds-leds-lp5523-c-world-writable-engine-sysfs-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drivers-leds-leds-lp5523-c-world-writable-engine-sysfs-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,64 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Tue, 22 Mar 2011 16:30:20 -0700
+Subject: drivers/leds/leds-lp5523.c: world-writable engine* sysfs files
+Patch-mainline: v2.6.39-rc1
+Git-commit: ccd7510fd8dea5b4b2af87fb2aef2ebd6b23b76b
+Introduced-by: v2.6.37-rc2
+References: bnc#673934
+
+Don't allow everybody to change LED settings.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Cc: Richard Purdie <rpurdie(a)rpsys.net>
+Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/leds/leds-lp5523.c | 20 ++++++++++----------
+ 1 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/leds/leds-lp5523.c b/drivers/leds/leds-lp5523.c
+index d0c4068..e19fed2 100644
+--- a/drivers/leds/leds-lp5523.c
++++ b/drivers/leds/leds-lp5523.c
+@@ -713,7 +713,7 @@ static ssize_t store_current(struct device *dev,
+ }
+
+ /* led class device attributes */
+-static DEVICE_ATTR(led_current, S_IRUGO | S_IWUGO, show_current, store_current);
++static DEVICE_ATTR(led_current, S_IRUGO | S_IWUSR, show_current, store_current);
+ static DEVICE_ATTR(max_current, S_IRUGO , show_max_current, NULL);
+
+ static struct attribute *lp5523_led_attributes[] = {
+@@ -727,21 +727,21 @@ static struct attribute_group lp5523_led_attribute_group = {
+ };
+
+ /* device attributes */
+-static DEVICE_ATTR(engine1_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine1_mode, S_IRUGO | S_IWUSR,
+ show_engine1_mode, store_engine1_mode);
+-static DEVICE_ATTR(engine2_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine2_mode, S_IRUGO | S_IWUSR,
+ show_engine2_mode, store_engine2_mode);
+-static DEVICE_ATTR(engine3_mode, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine3_mode, S_IRUGO | S_IWUSR,
+ show_engine3_mode, store_engine3_mode);
+-static DEVICE_ATTR(engine1_leds, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine1_leds, S_IRUGO | S_IWUSR,
+ show_engine1_leds, store_engine1_leds);
+-static DEVICE_ATTR(engine2_leds, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine2_leds, S_IRUGO | S_IWUSR,
+ show_engine2_leds, store_engine2_leds);
+-static DEVICE_ATTR(engine3_leds, S_IRUGO | S_IWUGO,
++static DEVICE_ATTR(engine3_leds, S_IRUGO | S_IWUSR,
+ show_engine3_leds, store_engine3_leds);
+-static DEVICE_ATTR(engine1_load, S_IWUGO, NULL, store_engine1_load);
+-static DEVICE_ATTR(engine2_load, S_IWUGO, NULL, store_engine2_load);
+-static DEVICE_ATTR(engine3_load, S_IWUGO, NULL, store_engine3_load);
++static DEVICE_ATTR(engine1_load, S_IWUSR, NULL, store_engine1_load);
++static DEVICE_ATTR(engine2_load, S_IWUSR, NULL, store_engine2_load);
++static DEVICE_ATTR(engine3_load, S_IWUSR, NULL, store_engine3_load);
+ static DEVICE_ATTR(selftest, S_IRUGO, lp5523_selftest, NULL);
+
+ static struct attribute *lp5523_attributes[] = {
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drivers-misc-ep93xx_pwm-c-world-writable-sysfs-files new/patches.fixes/drivers-misc-ep93xx_pwm-c-world-writable-sysfs-files
--- old/patches.fixes/drivers-misc-ep93xx_pwm-c-world-writable-sysfs-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drivers-misc-ep93xx_pwm-c-world-writable-sysfs-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,40 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Tue, 22 Mar 2011 16:34:01 -0700
+Subject: drivers/misc/ep93xx_pwm.c: world-writable sysfs files
+Patch-mainline: v2.6.39-rc1
+Git-commit: deb187e72470b0382d4f0cb859e76e1ebc3a1082
+Introduced-by: v2.6.32-rc1
+References: bnc#673934
+
+Don't allow everybody to change device settings.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Hartley Sweeten <hartleys(a)visionengravers.com>
+Cc: Matthieu Crapet <mcrapet(a)gmail.com>
+Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/misc/ep93xx_pwm.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/misc/ep93xx_pwm.c b/drivers/misc/ep93xx_pwm.c
+index 46b3439..16d7179 100644
+--- a/drivers/misc/ep93xx_pwm.c
++++ b/drivers/misc/ep93xx_pwm.c
+@@ -249,11 +249,11 @@ static ssize_t ep93xx_pwm_set_invert(struct device *dev,
+
+ static DEVICE_ATTR(min_freq, S_IRUGO, ep93xx_pwm_get_min_freq, NULL);
+ static DEVICE_ATTR(max_freq, S_IRUGO, ep93xx_pwm_get_max_freq, NULL);
+-static DEVICE_ATTR(freq, S_IWUGO | S_IRUGO,
++static DEVICE_ATTR(freq, S_IWUSR | S_IRUGO,
+ ep93xx_pwm_get_freq, ep93xx_pwm_set_freq);
+-static DEVICE_ATTR(duty_percent, S_IWUGO | S_IRUGO,
++static DEVICE_ATTR(duty_percent, S_IWUSR | S_IRUGO,
+ ep93xx_pwm_get_duty_percent, ep93xx_pwm_set_duty_percent);
+-static DEVICE_ATTR(invert, S_IWUGO | S_IRUGO,
++static DEVICE_ATTR(invert, S_IWUSR | S_IRUGO,
+ ep93xx_pwm_get_invert, ep93xx_pwm_set_invert);
+
+ static struct attribute *ep93xx_pwm_attrs[] = {
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drivers-rtc-rtc-ds1511-c-world-writable-sysfs-nvram-file new/patches.fixes/drivers-rtc-rtc-ds1511-c-world-writable-sysfs-nvram-file
--- old/patches.fixes/drivers-rtc-rtc-ds1511-c-world-writable-sysfs-nvram-file 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drivers-rtc-rtc-ds1511-c-world-writable-sysfs-nvram-file 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,34 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Tue, 22 Mar 2011 16:34:53 -0700
+Subject: drivers/rtc/rtc-ds1511.c: world-writable sysfs nvram file
+Patch-mainline: v2.6.39-rc1
+Git-commit: 49d50fb1c28738ef6bad0c2b87d5355a1653fed5
+Introduced-by: v2.6.25-rc1
+References: bnc#673934
+
+Don't allow everybogy to write to NVRAM.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Cc: Andy Sharp <andy.sharp(a)onstor.com>
+Cc: Alessandro Zummo <a.zummo(a)towertech.it>
+Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/rtc/rtc-ds1511.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/rtc/rtc-ds1511.c b/drivers/rtc/rtc-ds1511.c
+index 3fffd70..fbabc77 100644
+--- a/drivers/rtc/rtc-ds1511.c
++++ b/drivers/rtc/rtc-ds1511.c
+@@ -468,7 +468,7 @@ ds1511_nvram_write(struct file *filp, struct kobject *kobj,
+ static struct bin_attribute ds1511_nvram_attr = {
+ .attr = {
+ .name = "nvram",
+- .mode = S_IRUGO | S_IWUGO,
++ .mode = S_IRUGO | S_IWUSR,
+ },
+ .size = DS1511_RAM_MAX,
+ .read = ds1511_nvram_read,
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-radeon-kms-check-AA-resolve-registers-on-r300.patch new/patches.fixes/drm-radeon-kms-check-AA-resolve-registers-on-r300.patch
--- old/patches.fixes/drm-radeon-kms-check-AA-resolve-registers-on-r300.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drm-radeon-kms-check-AA-resolve-registers-on-r300.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,196 @@
+From: Marek Olšák <maraeo(a)gmail.com>
+Subject: drm/radeon/kms: check AA resolve registers on r300
+References: bnc#674693
+Patch-Mainline: yes
+Git-commit: fff1ce4dc6113b6fdc4e3a815ca5fd229408f8ef
+
+
+Signed-off-by: Egbert Eich <eich(a)suse.de>
+
+This is an important security fix because we allowed arbitrary values
+to be passed to AARESOLVE_OFFSET. This also puts the right buffer address
+in the register. Also included fix from Git-commit: 45039c.
+
+Signed-off-by: Marek Olšák <maraeo(a)gmail.com>
+Signed-off-by: Dave Airlie <airlied(a)redhat.com>
+---
+ drivers/gpu/drm/radeon/r100.c | 23 +++++++++++++++++++++++
+ drivers/gpu/drm/radeon/r100_track.h | 4 +++-
+ drivers/gpu/drm/radeon/r300.c | 21 +++++++++++++++++++++
+ drivers/gpu/drm/radeon/r300_reg.h | 2 ++
+ drivers/gpu/drm/radeon/reg_srcs/r300 | 3 ---
+ drivers/gpu/drm/radeon/reg_srcs/r420 | 3 ---
+ drivers/gpu/drm/radeon/reg_srcs/rs600 | 3 ---
+ drivers/gpu/drm/radeon/reg_srcs/rv515 | 3 ---
+ 8 files changed, 49 insertions(+), 13 deletions(-)
+
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r100.c
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/r100.c
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r100.c
+@@ -3297,6 +3297,26 @@ int r100_cs_track_check(struct radeon_de
+ return -EINVAL;
+ }
+ }
++ if (track->aa_dirty && track->aaresolve) {
++ if (track->aa.robj == NULL) {
++ DRM_ERROR("[drm] No buffer for AA resolve buffer %d !\n", i);
++ return -EINVAL;
++ }
++ /* I believe the format comes from colorbuffer0. */
++ size = track->aa.pitch * track->cb[0].cpp * track->maxy;
++ size += track->aa.offset;
++ if (size > radeon_bo_size(track->aa.robj)) {
++ DRM_ERROR("[drm] Buffer too small for AA resolve buffer %d "
++ "(need %lu have %lu) !\n", i, size,
++ radeon_bo_size(track->aa.robj));
++ DRM_ERROR("[drm] AA resolve buffer %d (%u %u %u %u)\n",
++ i, track->aa.pitch, track->cb[0].cpp,
++ track->aa.offset, track->maxy);
++ return -EINVAL;
++ }
++ }
++ track->aa_dirty = false;
++
+ prim_walk = (track->vap_vf_cntl >> 4) & 0x3;
+ if (track->vap_vf_cntl & (1 << 14)) {
+ nverts = track->vap_alt_nverts;
+@@ -3363,6 +3383,8 @@ void r100_cs_track_clear(struct radeon_d
+ {
+ unsigned i, face;
+
++ track->aa_dirty = true;
++
+ if (rdev->family < CHIP_R300) {
+ track->num_cb = 1;
+ if (rdev->family <= CHIP_RS200)
+@@ -3376,6 +3398,9 @@ void r100_cs_track_clear(struct radeon_d
+ track->num_texture = 16;
+ track->maxy = 4096;
+ track->separate_cube = 0;
++ track->aaresolve = false;
++ track->aa.robj = NULL;
++
+ }
+
+ for (i = 0; i < track->num_cb; i++) {
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r100_track.h
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/r100_track.h
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r100_track.h
+@@ -73,11 +73,14 @@ struct r100_cs_track {
+ struct r100_cs_track_array arrays[11];
+ struct r100_cs_track_cb cb[R300_MAX_CB];
+ struct r100_cs_track_cb zb;
++ struct r100_cs_track_cb aa;
+ struct r100_cs_track_texture textures[R300_TRACK_MAX_TEXTURE];
+ bool z_enabled;
+ bool separate_cube;
+ bool zb_cb_clear;
+ bool blend_read_enable;
++ bool aa_dirty;
++ bool aaresolve;
+ };
+
+ int r100_cs_track_check(struct radeon_device *rdev, struct r100_cs_track *track);
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r300.c
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/r300.c
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r300.c
+@@ -1074,6 +1074,27 @@ static int r300_packet0_check(struct rad
+ break;
+ case 0x4f28: /* ZB_DEPTHCLEARVALUE */
+ break;
++ case R300_RB3D_AARESOLVE_OFFSET:
++ r = r100_cs_packet_next_reloc(p, &reloc);
++ if (r) {
++ DRM_ERROR("No reloc for ib[%d]=0x%04X\n",
++ idx, reg);
++ r100_cs_dump_packet(p, pkt);
++ return r;
++ }
++ track->aa.robj = reloc->robj;
++ track->aa.offset = idx_value;
++ track->aa_dirty = true;
++ ib[idx] = idx_value + ((u32)reloc->lobj.gpu_offset);
++ break;
++ case R300_RB3D_AARESOLVE_PITCH:
++ track->aa.pitch = idx_value & 0x3FFE;
++ track->aa_dirty = true;
++ break;
++ case R300_RB3D_AARESOLVE_CTL:
++ track->aaresolve = idx_value & 0x1;
++ track->aa_dirty = true;
++ break;
+ case 0x4f30: /* ZB_MASK_OFFSET */
+ case 0x4f34: /* ZB_ZMASK_PITCH */
+ case 0x4f44: /* ZB_HIZ_OFFSET */
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r300_reg.h
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/r300_reg.h
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/r300_reg.h
+@@ -1371,6 +1371,8 @@
+ #define R300_RB3D_COLORPITCH2 0x4E40 /* GUESS */
+ #define R300_RB3D_COLORPITCH3 0x4E44 /* GUESS */
+
++#define R300_RB3D_AARESOLVE_OFFSET 0x4E80
++#define R300_RB3D_AARESOLVE_PITCH 0x4E84
+ #define R300_RB3D_AARESOLVE_CTL 0x4E88
+ /* gap */
+
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/r300
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/reg_srcs/r300
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/r300
+@@ -706,9 +706,6 @@ r300 0x4f60
+ 0x4E74 RB3D_CMASK_WRINDEX
+ 0x4E78 RB3D_CMASK_DWORD
+ 0x4E7C RB3D_CMASK_RDINDEX
+-0x4E80 RB3D_AARESOLVE_OFFSET
+-0x4E84 RB3D_AARESOLVE_PITCH
+-0x4E88 RB3D_AARESOLVE_CTL
+ 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 0x4F04 ZB_ZSTENCILCNTL
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/r420
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/reg_srcs/r420
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/r420
+@@ -773,9 +773,6 @@ r420 0x4f60
+ 0x4E74 RB3D_CMASK_WRINDEX
+ 0x4E78 RB3D_CMASK_DWORD
+ 0x4E7C RB3D_CMASK_RDINDEX
+-0x4E80 RB3D_AARESOLVE_OFFSET
+-0x4E84 RB3D_AARESOLVE_PITCH
+-0x4E88 RB3D_AARESOLVE_CTL
+ 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 0x4F04 ZB_ZSTENCILCNTL
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/rs600
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/reg_srcs/rs600
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/rs600
+@@ -772,9 +772,6 @@ rs600 0x6d40
+ 0x4E74 RB3D_CMASK_WRINDEX
+ 0x4E78 RB3D_CMASK_DWORD
+ 0x4E7C RB3D_CMASK_RDINDEX
+-0x4E80 RB3D_AARESOLVE_OFFSET
+-0x4E84 RB3D_AARESOLVE_PITCH
+-0x4E88 RB3D_AARESOLVE_CTL
+ 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 0x4F04 ZB_ZSTENCILCNTL
+Index: linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/rv515
+===================================================================
+--- linux-2.6.37-openSUSE-11.4.orig/drivers/gpu/drm/radeon/reg_srcs/rv515
++++ linux-2.6.37-openSUSE-11.4/drivers/gpu/drm/radeon/reg_srcs/rv515
+@@ -468,9 +468,6 @@ rv515 0x6d40
+ 0x4E74 RB3D_CMASK_WRINDEX
+ 0x4E78 RB3D_CMASK_DWORD
+ 0x4E7C RB3D_CMASK_RDINDEX
+-0x4E80 RB3D_AARESOLVE_OFFSET
+-0x4E84 RB3D_AARESOLVE_PITCH
+-0x4E88 RB3D_AARESOLVE_CTL
+ 0x4EA0 RB3D_DISCARD_SRC_PIXEL_LTE_THRESHOLD
+ 0x4EA4 RB3D_DISCARD_SRC_PIXEL_GTE_THRESHOLD
+ 0x4EF8 RB3D_CONSTANT_COLOR_AR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ext4-fix-ext4_da_block_invalidatepages-to-handle-pag.patch new/patches.fixes/ext4-fix-ext4_da_block_invalidatepages-to-handle-pag.patch
--- old/patches.fixes/ext4-fix-ext4_da_block_invalidatepages-to-handle-pag.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/ext4-fix-ext4_da_block_invalidatepages-to-handle-pag.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,71 @@
+From: Curt Wohlgemuth <curtw(a)google.com>
+Subject: [PATCH 2/2] ext4: fix ext4_da_block_invalidatepages() to handle page range properly
+Patch-mainline: yes
+Git-commit: c7f5938adce6727b9d17785f289c1146bd88d678
+References: bnc#679898
+
+If ext4_da_block_invalidatepages() is called because of a
+failure from ext4_map_blocks() in mpage_da_map_and_submit(),
+it's supposed to clean up -- including unlock -- all the
+pages in the mpd structure. But these values may not match
+up, even on a system in which block size == page size:
+
+ mpd->b_blocknr != mpd->first_page
+ mpd->b_size != (mpd->next_page - mpd->first_page)
+
+ext4_da_block_invalidatepages() has been using b_blocknr and
+b_size; this patch changes it to use first_page and
+next_page.
+
+Tested: I injected a small number (5%) of failures in
+ext4_map_blocks() in the case that the flags contain
+EXT4_GET_BLOCKS_DELALLOC_RESERVE, and ran fsstress on this
+kernel. Without this patch, I got hung tasks every time.
+With this patch, I see no hangs in many runs of fsstress.
+
+Signed-off-by: Curt Wohlgemuth <curtw(a)google.com>
+Signed-off-by: "Theodore Ts'o" <tytso(a)mit.edu>
+Acked-by: Jan Kara <jack(a)suse.cz>
+---
+ fs/ext4/inode.c | 11 ++++-------
+ 1 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
+index fd369db..e878c3a 100644
+--- a/fs/ext4/inode.c
++++ b/fs/ext4/inode.c
+@@ -2165,8 +2165,7 @@ static int mpage_da_submit_io(struct mpage_da_data *mpd,
+ return ret;
+ }
+
+-static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd,
+- sector_t logical, long blk_cnt)
++static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd)
+ {
+ int nr_pages, i;
+ pgoff_t index, end;
+@@ -2174,9 +2173,8 @@ static void ext4_da_block_invalidatepages(struct mpage_da_data *mpd,
+ struct inode *inode = mpd->inode;
+ struct address_space *mapping = inode->i_mapping;
+
+- index = logical >> (PAGE_CACHE_SHIFT - inode->i_blkbits);
+- end = (logical + blk_cnt - 1) >>
+- (PAGE_CACHE_SHIFT - inode->i_blkbits);
++ index = mpd->first_page;
++ end = mpd->next_page - 1;
+ while (index <= end) {
+ nr_pages = pagevec_lookup(&pvec, mapping, index, PAGEVEC_SIZE);
+ if (nr_pages == 0)
+@@ -2312,8 +2310,7 @@ static void mpage_da_map_and_submit(struct mpage_da_data *mpd)
+ ext4_print_free_blocks(mpd->inode);
+ }
+ /* invalidate all the pages */
+- ext4_da_block_invalidatepages(mpd, next,
+- mpd->b_size >> mpd->inode->i_blkbits);
++ ext4_da_block_invalidatepages(mpd);
+
+ /* Mark this page range as having been completed */
+ mpd->io_done = 1;
+--
+1.7.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ext4-mark-multi-page-IO-complete-on-mapping-failure.patch new/patches.fixes/ext4-mark-multi-page-IO-complete-on-mapping-failure.patch
--- old/patches.fixes/ext4-mark-multi-page-IO-complete-on-mapping-failure.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/ext4-mark-multi-page-IO-complete-on-mapping-failure.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,45 @@
+From: Curt Wohlgemuth <curtw(a)google.com>
+Subject: [PATCH 1/2] ext4: mark multi-page IO complete on mapping failure
+Patch-mainline: yes
+References: bnc#679898
+Git-commit: e0fd9b90765f604374c42de8ac59d6584afce264
+
+In mpage_da_map_and_submit(), if we have a delayed block
+allocation failure from ext4_map_blocks(), we need to mark
+the IO as complete, by setting
+
+ mpd->io_done = 1;
+
+Otherwise, we could end up submitting the pages in an outer
+loop; since they are unlocked on mapping failure in
+ext4_da_block_invalidatepages(), this will cause a bug check
+in mpage_da_submit_io().
+
+I tested this by injected failures into ext4_map_blocks().
+Without this patch, a simple fsstress run will bug check;
+with the patch, it works fine.
+
+Signed-off-by: Curt Wohlgemuth <curtw(a)google.com>
+Signed-off-by: "Theodore Ts'o" <tytso(a)mit.edu>
+Acked-by: Jan Kara <jack(a)suse.cz>
+---
+ fs/ext4/inode.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
+index c6c6b7f..fd369db 100644
+--- a/fs/ext4/inode.c
++++ b/fs/ext4/inode.c
+@@ -2314,6 +2314,9 @@ static void mpage_da_map_and_submit(struct mpage_da_data *mpd)
+ /* invalidate all the pages */
+ ext4_da_block_invalidatepages(mpd, next,
+ mpd->b_size >> mpd->inode->i_blkbits);
++
++ /* Mark this page range as having been completed */
++ mpd->io_done = 1;
+ return;
+ }
+ BUG_ON(blks == 0);
+--
+1.7.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops new/patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops
--- old/patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,54 @@
+From: Timo Warns <Warns(a)pre-sense.de>
+Subject: fs/partitions/efi.c: corrupted GUID partition tables can cause kernel oops
+References: bnc#687113 CVE-2011-1577
+Patch-mainline: Probably 2.6.39; In -mm already
+
+The kernel automatically evaluates partition tables of storage devices.
+The code for evaluating GUID partitions (in fs/partitions/efi.c) contains
+a bug that causes a kernel oops on certain corrupted GUID partition
+tables.
+
+This bug has security impacts, because it allows, for example, to
+prepare a storage device that crashes a kernel subsystem upon connecting
+the device (e.g., a "USB Stick of (Partial) Death").
+
+ crc = efi_crc32((const unsigned char *) (*gpt), le32_to_cpu((*gpt)->header_size));
+
+computes a CRC32 checksum over gpt covering (*gpt)->header_size bytes.
+There is no validation of (*gpt)->header_size before the efi_crc32 call.
+
+A corrupted partition table may have large values for (*gpt)->header_size.
+ In this case, the CRC32 computation access memory beyond the memory
+allocated for gpt, which may cause a kernel heap overflow.
+
+Validate value of GUID partition table header size.
+
+Signed-off-by: Timo Warns <warns(a)pre-sense.de>
+Cc: Matt Domsch <Matt_Domsch(a)dell.com>
+Cc: Eugene Teo <eugeneteo(a)kernel.sg>
+Cc: Dave Jones <davej(a)codemonkey.org.uk>
+Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+
+ fs/partitions/efi.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/fs/partitions/efi.c
++++ b/fs/partitions/efi.c
+@@ -310,6 +310,15 @@ static int is_gpt_valid(struct parsed_pa
+ goto fail;
+ }
+
++ /* Check the GUID Partition Table header size */
++ if (le32_to_cpu((*gpt)->header_size) >
++ bdev_logical_block_size(state->bdev)) {
++ pr_debug("GUID Partition Table Header size is wrong: %u > %u\n",
++ le32_to_cpu((*gpt)->header_size),
++ bdev_logical_block_size(state->bdev));
++ goto fail;
++ }
++
+ /* Check the GUID Partition Table CRC */
+ origcrc = le32_to_cpu((*gpt)->header_crc32);
+ (*gpt)->header_crc32 = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/i2c-algo-bit-call-pre-post_xfer-for-bit_test.patch new/patches.fixes/i2c-algo-bit-call-pre-post_xfer-for-bit_test.patch
--- old/patches.fixes/i2c-algo-bit-call-pre-post_xfer-for-bit_test.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/i2c-algo-bit-call-pre-post_xfer-for-bit_test.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,82 @@
+From d3b3e15da14ded61c9654db05863b04a2435f4cc Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexdeucher(a)gmail.com>
+Date: Sun, 17 Apr 2011 10:20:19 +0200
+Subject: [PATCH] i2c-algo-bit: Call pre/post_xfer for bit_test
+Patch-mainline: 2.6.39
+References: bnc#669937, freedesktop#36221
+
+Apparently some distros set i2c-algo-bit.bit_test to 1 by
+default. In some cases this causes i2c_bit_add_bus
+to fail and prevents the i2c bus from being added. In the
+radeon case, we fail to add the ddc i2c buses which prevents
+the driver from being able to detect attached monitors.
+The i2c bus works fine even if bit_test fails. This is likely
+due to gpio switching that is required and handled in the
+pre/post_xfer hooks, so call the pre/post_xfer hooks in the
+bit test as well.
+
+Fixes:
+https://bugs.freedesktop.org/show_bug.cgi?id=36221
+
+Signed-off-by: Alex Deucher <alexdeucher(a)gmail.com>
+Signed-off-by: Jean Delvare <khali(a)linux-fr.org>
+Cc: stable(a)kernel.org [.38 down to .34]
+Acked-by: Jean Delvare <jdelvare(a)suse.de>
+---
+ drivers/i2c/algos/i2c-algo-bit.c | 24 +++++++++++++++++++-----
+ 1 file changed, 19 insertions(+), 5 deletions(-)
+
+--- a/drivers/i2c/algos/i2c-algo-bit.c
++++ b/drivers/i2c/algos/i2c-algo-bit.c
+@@ -232,9 +232,17 @@ static int i2c_inb(struct i2c_adapter *i
+ * Sanity check for the adapter hardware - check the reaction of
+ * the bus lines only if it seems to be idle.
+ */
+-static int test_bus(struct i2c_algo_bit_data *adap, char *name)
++static int test_bus(struct i2c_adapter *i2c_adap)
+ {
+- int scl, sda;
++ struct i2c_algo_bit_data *adap = i2c_adap->algo_data;
++ const char *name = i2c_adap->name;
++ int scl, sda, ret;
++
++ if (adap->pre_xfer) {
++ ret = adap->pre_xfer(i2c_adap);
++ if (ret < 0)
++ return -ENODEV;
++ }
+
+ if (adap->getscl == NULL)
+ pr_info("%s: Testing SDA only, SCL is not readable\n", name);
+@@ -297,11 +305,19 @@ static int test_bus(struct i2c_algo_bit_
+ "while pulling SCL high!\n", name);
+ goto bailout;
+ }
++
++ if (adap->post_xfer)
++ adap->post_xfer(i2c_adap);
++
+ pr_info("%s: Test OK\n", name);
+ return 0;
+ bailout:
+ sdahi(adap);
+ sclhi(adap);
++
++ if (adap->post_xfer)
++ adap->post_xfer(i2c_adap);
++
+ return -ENODEV;
+ }
+
+@@ -602,10 +618,8 @@ static const struct i2c_algorithm i2c_bi
+ */
+ static int i2c_bit_prepare_bus(struct i2c_adapter *adap)
+ {
+- struct i2c_algo_bit_data *bit_adap = adap->algo_data;
+-
+ if (bit_test) {
+- int ret = test_bus(bit_adap, adap->name);
++ int ret = test_bus(adap);
+ if (ret < 0)
+ return -ENODEV;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/irda-validate-peer-name-and-attribute-lengths new/patches.fixes/irda-validate-peer-name-and-attribute-lengths
--- old/patches.fixes/irda-validate-peer-name-and-attribute-lengths 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/irda-validate-peer-name-and-attribute-lengths 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,41 @@
+From: Dan Rosenberg <drosenberg(a)vsecurity.com>
+Date: Sun, 20 Mar 2011 15:32:06 +0000
+Subject: irda: validate peer name and attribute lengths
+Patch-mainline: v2.6.39-rc1
+Git-commit: d370af0ef7951188daeb15bae75db7ba57c67846
+References: bnc#681497 CVE-2011-1180
+
+Length fields provided by a peer for names and attributes may be longer
+than the destination array sizes. Validate lengths to prevent stack
+buffer overflows.
+
+Signed-off-by: Dan Rosenberg <drosenberg(a)vsecurity.com>
+Cc: stable(a)kernel.org
+Signed-off-by: David S. Miller <davem(a)davemloft.net>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ net/irda/iriap.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/net/irda/iriap.c b/net/irda/iriap.c
+index 5b743bd..3647753 100644
+--- a/net/irda/iriap.c
++++ b/net/irda/iriap.c
+@@ -656,10 +656,16 @@ static void iriap_getvaluebyclass_indication(struct iriap_cb *self,
+ n = 1;
+
+ name_len = fp[n++];
++
++ IRDA_ASSERT(name_len < IAS_MAX_CLASSNAME + 1, return;);
++
+ memcpy(name, fp+n, name_len); n+=name_len;
+ name[name_len] = '\0';
+
+ attr_len = fp[n++];
++
++ IRDA_ASSERT(attr_len < IAS_MAX_ATTRIBNAME + 1, return;);
++
+ memcpy(attr, fp+n, attr_len); n+=attr_len;
+ attr[attr_len] = '\0';
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/libata-dvr-212d-can-t-do-setxfer-dvd-rw-dvr-212d new/patches.fixes/libata-dvr-212d-can-t-do-setxfer-dvd-rw-dvr-212d
--- old/patches.fixes/libata-dvr-212d-can-t-do-setxfer-dvd-rw-dvr-212d 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/libata-dvr-212d-can-t-do-setxfer-dvd-rw-dvr-212d 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,32 @@
+From: Francesco Antonacci <fraanto(a)gmail.com>
+Date: Tue, 25 Jan 2011 11:54:43 +0100
+Subject: libata: DVR-212D can't do SETXFER DVD-RW DVR-212D
+Patch-mainline: v2.6.38-rc3
+Git-commit: 4a5610a04d415ed94af75bb1159d2621d62c8328
+
+PIONEER DVR-212D can't do SETXFER like its sibling DVRTD08. Add
+ATA_HORKAGE_NOSETXFER for it. Reported in bko#27502.
+
+ https://bugzilla.kernel.org/show_bug.cgi?id=27502
+
+Signed-off-by: Francesco Antonacci <fraanto(a)gmail.com>
+Acked-by: Tejun Heo <tj(a)kernel.org>
+Signed-off-by: Jeff Garzik <jgarzik(a)redhat.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/ata/libata-core.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
+index a31fe96..d4e52e2 100644
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -4138,6 +4138,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
+ * device and controller are SATA.
+ */
+ { "PIONEER DVD-RW DVRTD08", "1.00", ATA_HORKAGE_NOSETXFER },
++ { "PIONEER DVD-RW DVR-212D", "1.28", ATA_HORKAGE_NOSETXFER },
+
+ /* End Marker */
+ { }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d new/patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d
--- old/patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,35 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: libata: DVR-216D can't do SETXFER DVD-RW DVR-216D
+References: bnc#679143
+Patch-mainline: Submitted 19 Apr 2011
+
+ From: Francesco Antonacci <fraanto(a)gmail.com>
+ Date: Tue, 25 Jan 2011 11:54:43 +0100
+ Subject: libata: DVR-212D can't do SETXFER DVD-RW DVR-212D
+ Patch-mainline: v2.6.38-rc3
+ Git-commit: 4a5610a04d415ed94af75bb1159d2621d62c8328
+
+ PIONEER DVR-212D can't do SETXFER like its sibling DVRTD08. Add
+ ATA_HORKAGE_NOSETXFER for it. Reported in bko#27502.
+
+ https://bugzilla.kernel.org/show_bug.cgi?id=27502
+
+ Signed-off-by: Francesco Antonacci <fraanto(a)gmail.com>
+ Acked-by: Tejun Heo <tj(a)kernel.org>
+ Signed-off-by: Jeff Garzik <jgarzik(a)redhat.com>
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/ata/libata-core.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -4138,6 +4138,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
+ */
+ { "PIONEER DVD-RW DVRTD08", "1.00", ATA_HORKAGE_NOSETXFER },
+ { "PIONEER DVD-RW DVR-212D", "1.28", ATA_HORKAGE_NOSETXFER },
++ { "PIONEER DVD-RW DVR-216D", "1.08", ATA_HORKAGE_NOSETXFER },
+
+ /* End Marker */
+ { }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/media-video-sn9c102-world-wirtable-sysfs-files new/patches.fixes/media-video-sn9c102-world-wirtable-sysfs-files
--- old/patches.fixes/media-video-sn9c102-world-wirtable-sysfs-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/media-video-sn9c102-world-wirtable-sysfs-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,37 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 09:23:33 -0300
+Subject: [media] video: sn9c102: world-wirtable sysfs files
+Patch-mainline: v2.6.39-rc2
+Git-commit: 14ddc3188d50855ae2a419a6aced995e2834e5d4
+Introduced-by: v2.6.8-rc2
+References: bnc#673934
+
+Don't allow everybody to change video settings.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Mauro Carvalho Chehab <mchehab(a)redhat.com>
+Acked-by: Luca Risolia <luca.risolia(a)studio.unibo.it>
+Signed-off-by: Mauro Carvalho Chehab <mchehab(a)redhat.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/media/video/sn9c102/sn9c102_core.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
+index 84984f6..ce56a1c 100644
+--- a/drivers/media/video/sn9c102/sn9c102_core.c
++++ b/drivers/media/video/sn9c102/sn9c102_core.c
+@@ -1430,9 +1430,9 @@ static DEVICE_ATTR(i2c_reg, S_IRUGO | S_IWUSR,
+ sn9c102_show_i2c_reg, sn9c102_store_i2c_reg);
+ static DEVICE_ATTR(i2c_val, S_IRUGO | S_IWUSR,
+ sn9c102_show_i2c_val, sn9c102_store_i2c_val);
+-static DEVICE_ATTR(green, S_IWUGO, NULL, sn9c102_store_green);
+-static DEVICE_ATTR(blue, S_IWUGO, NULL, sn9c102_store_blue);
+-static DEVICE_ATTR(red, S_IWUGO, NULL, sn9c102_store_red);
++static DEVICE_ATTR(green, S_IWUSR, NULL, sn9c102_store_green);
++static DEVICE_ATTR(blue, S_IWUSR, NULL, sn9c102_store_blue);
++static DEVICE_ATTR(red, S_IWUSR, NULL, sn9c102_store_red);
+ static DEVICE_ATTR(frame_header, S_IRUGO, sn9c102_show_frame_header, NULL);
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mfd-ab3100-world-writable-debugfs-_priv-files new/patches.fixes/mfd-ab3100-world-writable-debugfs-_priv-files
--- old/patches.fixes/mfd-ab3100-world-writable-debugfs-_priv-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/mfd-ab3100-world-writable-debugfs-_priv-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,41 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 15:23:36 +0300
+Subject: mfd: ab3100: world-writable debugfs *_priv files
+Patch-mainline: v2.6.39-rc1
+Git-commit: f8a0697722d12a201588225999cfc8bfcbc82781
+Introduced-by: v2.6.31-rc1
+References: bnc#673934
+
+Don't allow everybody to change device hardware registers.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Linus Walleij <linus.walleij(a)stericsson.com>
+Signed-off-by: Samuel Ortiz <sameo(a)linux.intel.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/mfd/ab3100-core.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c
+index 4193af5..1707d22 100644
+--- a/drivers/mfd/ab3100-core.c
++++ b/drivers/mfd/ab3100-core.c
+@@ -613,7 +613,7 @@ static void ab3100_setup_debugfs(struct ab3100 *ab3100)
+ ab3100_get_priv.ab3100 = ab3100;
+ ab3100_get_priv.mode = false;
+ ab3100_get_reg_file = debugfs_create_file("get_reg",
+- S_IWUGO, ab3100_dir, &ab3100_get_priv,
++ S_IWUSR, ab3100_dir, &ab3100_get_priv,
+ &ab3100_get_set_reg_fops);
+ if (!ab3100_get_reg_file) {
+ err = -ENOMEM;
+@@ -623,7 +623,7 @@ static void ab3100_setup_debugfs(struct ab3100 *ab3100)
+ ab3100_set_priv.ab3100 = ab3100;
+ ab3100_set_priv.mode = true;
+ ab3100_set_reg_file = debugfs_create_file("set_reg",
+- S_IWUGO, ab3100_dir, &ab3100_set_priv,
++ S_IWUSR, ab3100_dir, &ab3100_set_priv,
+ &ab3100_get_set_reg_fops);
+ if (!ab3100_set_reg_file) {
+ err = -ENOMEM;
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mfd-ab3500-world-writable-debugfs-register-files new/patches.fixes/mfd-ab3500-world-writable-debugfs-register-files
--- old/patches.fixes/mfd-ab3500-world-writable-debugfs-register-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/mfd-ab3500-world-writable-debugfs-register-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,44 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 15:23:39 +0300
+Subject: mfd: ab3500: world-writable debugfs register-* files
+Patch-mainline: v2.6.39-rc1
+Git-commit: 90c861c2a83d974684974441093ff8a50e6b430b
+Introduced-by: v2.6.35-rc1
+References: bnc#673934
+
+Don't allow everybody to interact with hardware registers.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Linus Walleij <linus.walleij(a)stericsson.com>
+Signed-off-by: Samuel Ortiz <sameo(a)linux.intel.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/mfd/ab3550-core.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mfd/ab3550-core.c b/drivers/mfd/ab3550-core.c
+index 5fbca34..681984d 100644
+--- a/drivers/mfd/ab3550-core.c
++++ b/drivers/mfd/ab3550-core.c
+@@ -1053,17 +1053,17 @@ static inline void ab3550_setup_debugfs(struct ab3550 *ab)
+ goto exit_destroy_dir;
+
+ ab3550_bank_file = debugfs_create_file("register-bank",
+- (S_IRUGO | S_IWUGO), ab3550_dir, ab, &ab3550_bank_fops);
++ (S_IRUGO | S_IWUSR), ab3550_dir, ab, &ab3550_bank_fops);
+ if (!ab3550_bank_file)
+ goto exit_destroy_reg;
+
+ ab3550_address_file = debugfs_create_file("register-address",
+- (S_IRUGO | S_IWUGO), ab3550_dir, ab, &ab3550_address_fops);
++ (S_IRUGO | S_IWUSR), ab3550_dir, ab, &ab3550_address_fops);
+ if (!ab3550_address_file)
+ goto exit_destroy_bank;
+
+ ab3550_val_file = debugfs_create_file("register-value",
+- (S_IRUGO | S_IWUGO), ab3550_dir, ab, &ab3550_val_fops);
++ (S_IRUGO | S_IWUSR), ab3550_dir, ab, &ab3550_val_fops);
+ if (!ab3550_val_file)
+ goto exit_destroy_address;
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mfd-ab8500-world-writable-debugfs-register-files new/patches.fixes/mfd-ab8500-world-writable-debugfs-register-files
--- old/patches.fixes/mfd-ab8500-world-writable-debugfs-register-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/mfd-ab8500-world-writable-debugfs-register-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,42 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 15:23:43 +0300
+Subject: mfd: ab8500: world-writable debugfs register-* files
+Patch-mainline: v2.6.39-rc1
+Git-commit: 44bdcb54df2714da18c4a0c6f711a350ab4ed93c
+Introduced-by: v2.6.37-rc1
+References: bnc#673934
+
+Don't allow everybody to interact with hardware registers.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Linus Walleij <linus.walleij(a)stericsson.com>
+Signed-off-by: Samuel Ortiz <sameo(a)linux.intel.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/mfd/ab8500-debugfs.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/mfd/ab8500-debugfs.c
++++ b/drivers/mfd/ab8500-debugfs.c
+@@ -585,18 +585,18 @@ static int __devinit ab8500_debug_probe(
+ goto exit_destroy_dir;
+
+ ab8500_bank_file = debugfs_create_file("register-bank",
+- (S_IRUGO | S_IWUGO), ab8500_dir, &plf->dev, &ab8500_bank_fops);
++ (S_IRUGO | S_IWUSR), ab8500_dir, &plf->dev, &ab8500_bank_fops);
+ if (!ab8500_bank_file)
+ goto exit_destroy_reg;
+
+ ab8500_address_file = debugfs_create_file("register-address",
+- (S_IRUGO | S_IWUGO), ab8500_dir, &plf->dev,
++ (S_IRUGO | S_IWUSR), ab8500_dir, &plf->dev,
+ &ab8500_address_fops);
+ if (!ab8500_address_file)
+ goto exit_destroy_bank;
+
+ ab8500_val_file = debugfs_create_file("register-value",
+- (S_IRUGO | S_IWUGO), ab8500_dir, &plf->dev, &ab8500_val_fops);
++ (S_IRUGO | S_IWUSR), ab8500_dir, &plf->dev, &ab8500_val_fops);
+ if (!ab8500_val_file)
+ goto exit_destroy_address;
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch new/patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch
--- old/patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,71 @@
+From: Miklos Szeredi <mszeredi(a)suse.cz>
+Subject: mm: prevent concurrent unmap_mapping_range() on the same inode
+Patch-mainline: never
+
+This was fixed in 2aa15890f3c upstream, but this backported causes
+kABI breakage.
+
+So we revert that the patch in:
+patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch
+
+and introduce this, a bit uglier, fix instead.
+
+Signed-off-by: Miklos Szeredi <mszeredi(a)suse.cz>
+Acked-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ include/linux/pagemap.h | 1 +
+ mm/memory.c | 14 ++++++++++++++
+ 2 files changed, 15 insertions(+)
+
+Index: linux.git/include/linux/pagemap.h
+===================================================================
+--- linux.git.orig/include/linux/pagemap.h 2010-11-26 10:52:17.000000000 +0100
++++ linux.git/include/linux/pagemap.h 2010-12-11 13:39:32.000000000 +0100
+@@ -24,6 +24,7 @@ enum mapping_flags {
+ AS_ENOSPC = __GFP_BITS_SHIFT + 1, /* ENOSPC on async write */
+ AS_MM_ALL_LOCKS = __GFP_BITS_SHIFT + 2, /* under mm_take_all_locks() */
+ AS_UNEVICTABLE = __GFP_BITS_SHIFT + 3, /* e.g., ramdisk, SHM_LOCK */
++ AS_UNMAPPING = __GFP_BITS_SHIFT + 4, /* for unmap_mapping_range() */
+ };
+
+ static inline void mapping_set_error(struct address_space *mapping, int error)
+Index: linux.git/mm/memory.c
+===================================================================
+--- linux.git.orig/mm/memory.c 2010-12-11 13:07:28.000000000 +0100
++++ linux.git/mm/memory.c 2010-12-11 14:09:42.000000000 +0100
+@@ -2535,6 +2535,12 @@ static inline void unmap_mapping_range_l
+ }
+ }
+
++static int mapping_sleep(void *x)
++{
++ schedule();
++ return 0;
++}
++
+ /**
+ * unmap_mapping_range - unmap the portion of all mmaps in the specified address_space corresponding to the specified page range in the underlying file.
+ * @mapping: the address space containing mmaps to be unmapped.
+@@ -2572,6 +2578,9 @@ void unmap_mapping_range(struct address_
+ details.last_index = ULONG_MAX;
+ details.i_mmap_lock = &mapping->i_mmap_lock;
+
++ wait_on_bit_lock(&mapping->flags, AS_UNMAPPING, mapping_sleep,
++ TASK_UNINTERRUPTIBLE);
++
+ spin_lock(&mapping->i_mmap_lock);
+
+ /* Protect against endless unmapping loops */
+@@ -2588,6 +2597,11 @@ void unmap_mapping_range(struct address_
+ if (unlikely(!list_empty(&mapping->i_mmap_nonlinear)))
+ unmap_mapping_range_list(&mapping->i_mmap_nonlinear, &details);
+ spin_unlock(&mapping->i_mmap_lock);
++
++ clear_bit_unlock(AS_UNMAPPING, &mapping->flags);
++ smp_mb__after_clear_bit();
++ wake_up_bit(&mapping->flags, AS_UNMAPPING);
++
+ }
+ EXPORT_SYMBOL(unmap_mapping_range);
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file new/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file
--- old/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,26 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Subject: scsi: aic94xx: world-writable sysfs update_bios file
+Introduced-by: v2.6.25-rc1
+Patch-mainline: Submitted 4 Feb 2011
+
+Don't allow everybody to load firmware.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ Compile tested only.
+ drivers/scsi/aic94xx/aic94xx_init.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
+index 3b7e83d..d5ff142 100644
+--- a/drivers/scsi/aic94xx/aic94xx_init.c
++++ b/drivers/scsi/aic94xx/aic94xx_init.c
+@@ -486,7 +486,7 @@ static ssize_t asd_show_update_bios(struct device *dev,
+ flash_error_table[i].reason);
+ }
+
+-static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUGO,
++static DEVICE_ATTR(update_bios, S_IRUGO|S_IWUSR,
+ asd_show_update_bios, asd_store_update_bios);
+
+ static int asd_create_dev_attrs(struct asd_ha_struct *asd_ha)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-scsi_transport_iscsi-make-priv_sess-file-writeable-only-by-root new/patches.fixes/scsi-scsi_transport_iscsi-make-priv_sess-file-writeable-only-by-root
--- old/patches.fixes/scsi-scsi_transport_iscsi-make-priv_sess-file-writeable-only-by-root 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/scsi-scsi_transport_iscsi-make-priv_sess-file-writeable-only-by-root 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,31 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 15:24:14 +0300
+Subject: [SCSI] scsi_transport_iscsi: make priv_sess file writeable only by
+ root
+Patch-mainline: v2.6.39-rc1
+Git-commit: 523f3c80bc41d663d5b35c0cd6ce0fad7f3e7188
+Introduced-by: v2.6.36-rc1
+References: bnc#673934
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Acked-by: Mike Christie <michaelc(a)cs.wisc.edu>
+Signed-off-by: James Bottomley <James.Bottomley(a)suse.de>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/scsi/scsi_transport_iscsi.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
+index b421839..3fd16d7 100644
+--- a/drivers/scsi/scsi_transport_iscsi.c
++++ b/drivers/scsi/scsi_transport_iscsi.c
+@@ -1917,7 +1917,7 @@ store_priv_session_##field(struct device *dev, \
+ #define iscsi_priv_session_rw_attr(field, format) \
+ iscsi_priv_session_attr_show(field, format) \
+ iscsi_priv_session_attr_store(field) \
+-static ISCSI_CLASS_ATTR(priv_sess, field, S_IRUGO | S_IWUGO, \
++static ISCSI_CLASS_ATTR(priv_sess, field, S_IRUGO | S_IWUSR, \
+ show_priv_session_##field, \
+ store_priv_session_##field)
+ iscsi_priv_session_rw_attr(recovery_tmo, "%d");
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/sunrpc-gssd-fix-mount-failure-with-rc4-hmac-md5 new/patches.fixes/sunrpc-gssd-fix-mount-failure-with-rc4-hmac-md5
--- old/patches.fixes/sunrpc-gssd-fix-mount-failure-with-rc4-hmac-md5 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/sunrpc-gssd-fix-mount-failure-with-rc4-hmac-md5 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,43 @@
+From: Trond Myklebust <Trond.Myklebust(a)netapp.com>
+Subject: Revert "net/sunrpc: Use static const char arrays"
+References: bnc#668880
+Patch-mainline: yes
+Git-commit: 0867659fa3c245bf203d837a82e0f6ea5079c2c5
+
+ This reverts commit 411b5e05617593efebc06241dbc56f42150f2abe.
+
+ Olga Kornievskaia reports:
+
+ Problem: linux client mounting linux server using rc4-hmac-md5
+ enctype. gssd fails with create a context after receiving a reply from
+ the server.
+
+ Diagnose: putting printout statements in the server kernel and
+ kerberos libraries revealed that client and server derived different
+ integrity keys.
+
+ Server kernel code was at fault due the the commit
+
+ [aglo@skydive linux-pnfs]$ git show 411b5e05617593efebc06241dbc56f42150f2abe
+
+ Trond: The problem is that since it relies on virt_to_page(), you cannot
+ call sg_set_buf() for data in the const section.
+
+Reported-by: Olga Kornievskaia <aglo(a)citi.umich.edu>
+Signed-off-by: Trond Myklebust <Trond.Myklebust(a)netapp.com>
+Acked-by: Suresh Jayaraman <sjayaraman(a)suse.de>
+Cc: stable(a)kernel.org [2.6.36+]
+
+diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c
+index 9022f0a..0a9a2ec 100644
+--- a/net/sunrpc/auth_gss/gss_krb5_mech.c
++++ b/net/sunrpc/auth_gss/gss_krb5_mech.c
+@@ -427,7 +427,7 @@ static int
+ context_derive_keys_rc4(struct krb5_ctx *ctx)
+ {
+ struct crypto_hash *hmac;
+- static const char sigkeyconstant[] = "signaturekey";
++ char sigkeyconstant[] = "signaturekey";
+ int slen = strlen(sigkeyconstant) + 1; /* include null terminator */
+ struct hash_desc desc;
+ struct scatterlist sg[1];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ubifs-restrict-world-writable-debugfs-files new/patches.fixes/ubifs-restrict-world-writable-debugfs-files
--- old/patches.fixes/ubifs-restrict-world-writable-debugfs-files 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/ubifs-restrict-world-writable-debugfs-files 2011-04-22 17:11:32.000000000 +0200
@@ -0,0 +1,45 @@
+From: Vasiliy Kulikov <segoon(a)openwall.com>
+Date: Fri, 4 Feb 2011 15:24:19 +0300
+Subject: UBIFS: restrict world-writable debugfs files
+Patch-mainline: v2.6.39-rc1
+Git-commit: 8c559d30b4e59cf6994215ada1fe744928f494bf
+Introduced-by: v2.6.29-rc1
+References: bnc#673934
+
+Don't allow everybody to dump sensitive information about filesystems.
+
+Signed-off-by: Vasiliy Kulikov <segoon(a)openwall.com>
+Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy(a)nokia.com>
+Acked-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ fs/ubifs/debug.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fs/ubifs/debug.c b/fs/ubifs/debug.c
+index 0bee4db..bcb1acb 100644
+--- a/fs/ubifs/debug.c
++++ b/fs/ubifs/debug.c
+@@ -2813,19 +2813,19 @@ int dbg_debugfs_init_fs(struct ubifs_info *c)
+ }
+
+ fname = "dump_lprops";
+- dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, c, &dfs_fops);
+ if (IS_ERR(dent))
+ goto out_remove;
+ d->dfs_dump_lprops = dent;
+
+ fname = "dump_budg";
+- dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, c, &dfs_fops);
+ if (IS_ERR(dent))
+ goto out_remove;
+ d->dfs_dump_budg = dent;
+
+ fname = "dump_tnc";
+- dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ dent = debugfs_create_file(fname, S_IWUSR, d->dfs_dir, c, &dfs_fops);
+ if (IS_ERR(dent))
+ goto out_remove;
+ d->dfs_dump_tnc = dent;
+
++++++ patches.kabi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/DRM-revert-drm_device-num_crtcs-change.patch new/patches.kabi/DRM-revert-drm_device-num_crtcs-change.patch
--- old/patches.kabi/DRM-revert-drm_device-num_crtcs-change.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/DRM-revert-drm_device-num_crtcs-change.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,24 @@
+Subject: DRM: revert drm_device num_crtcs change
+From: Jiri Slaby <jslaby(a)suse.cz>
+Patch-mainline: never
+
+The change broke kABI. But as explained in e62945ccc21, the type
+change is not needed for the fix. So change the type back to satisfy
+kABI checker.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ include/drm/drmP.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/drm/drmP.h
++++ b/include/drm/drmP.h
+@@ -1022,7 +1022,7 @@ struct drm_device {
+ struct platform_device *platformdev; /**< Platform device struture */
+
+ struct drm_sg_mem *sg; /**< Scatter gather memory */
+- unsigned int num_crtcs; /**< Number of CRTCs on this device */
++ int num_crtcs; /**< Number of CRTCs on this device */
+ void *dev_private; /**< device private data */
+ void *mm_private;
+ struct address_space *dev_mapping;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/FUSE-fuse_req-kABI-guard.patch new/patches.kabi/FUSE-fuse_req-kABI-guard.patch
--- old/patches.kabi/FUSE-fuse_req-kABI-guard.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/FUSE-fuse_req-kABI-guard.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,29 @@
+Subject: FUSE: fuse_req kABI guard
+From: Jiri Slaby <jslaby(a)suse.cz>
+Patch-mainline: never
+
+A stable update changed fuse_req struct. But this structure is FUSE
+internal only, so tell the kabi checker to ignore the change.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ fs/fuse/fuse_i.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/fs/fuse/fuse_i.h
++++ b/fs/fuse/fuse_i.h
+@@ -258,10 +258,14 @@ struct fuse_req {
+ union {
+ struct fuse_forget_in forget_in;
+ struct {
++#ifdef __GENKSYMS__
++ struct fuse_release_in in;
++#else
+ union {
+ struct fuse_release_in in;
+ struct work_struct work;
+ };
++#endif
+ struct path path;
+ } release;
+ struct fuse_init_in init_in;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/SoN-16b-netvm-reserve-inet.patch new/patches.kabi/SoN-16b-netvm-reserve-inet.patch
--- old/patches.kabi/SoN-16b-netvm-reserve-inet.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/SoN-16b-netvm-reserve-inet.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,38 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Subject: SoN: fix kABI breakage
+Patch-mainline: never
+
+patches.suse/SoN-16b-netvm-reserve-inet.patch added 2 includes but
+these define too much for the kabi checker. So avoid the includes for
+the kabi checker.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ net/ipv4/route.c | 2 ++
+ net/ipv6/route.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
+@@ -91,7 +91,9 @@
+ #include <linux/rcupdate.h>
+ #include <linux/times.h>
+ #include <linux/slab.h>
++#ifndef __GENKSYMS__
+ #include <linux/swap.h>
++#endif
+ #include <net/dst.h>
+ #include <net/net_namespace.h>
+ #include <net/protocol.h>
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -42,7 +42,9 @@
+ #include <linux/seq_file.h>
+ #include <linux/nsproxy.h>
+ #include <linux/slab.h>
++#ifndef __GENKSYMS__
+ #include <linux/swap.h>
++#endif
+ #include <net/net_namespace.h>
+ #include <net/snmp.h>
+ #include <net/ipv6.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/blk-revert-__blk_run_queue-prototype-change.patch new/patches.kabi/blk-revert-__blk_run_queue-prototype-change.patch
--- old/patches.kabi/blk-revert-__blk_run_queue-prototype-change.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/blk-revert-__blk_run_queue-prototype-change.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,176 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Subject: block: revert __blk_run_queue prototype change
+Patch-mainline: never
+
+The stable commit "block: add @force_kblockd to __blk_run_queue()"
+changed prototype of __blk_run_queue. This made the kabi checker
+unhappy. Revert the change because we export __blk_run_queue.
+
+Now we have ____blk_run_queue with the new prototype and
+__blk_run_queue left untouched.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ block/blk-core.c | 16 +++++++++++-----
+ block/blk-flush.c | 2 +-
+ block/cfq-iosched.c | 6 +++---
+ block/elevator.c | 4 ++--
+ drivers/scsi/scsi_lib.c | 2 +-
+ drivers/scsi/scsi_transport_fc.c | 2 +-
+ include/linux/blkdev.h | 3 ++-
+ 7 files changed, 21 insertions(+), 14 deletions(-)
+
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -359,7 +359,7 @@ void blk_start_queue(struct request_queu
+ WARN_ON(!irqs_disabled());
+
+ queue_flag_clear(QUEUE_FLAG_STOPPED, q);
+- __blk_run_queue(q, false);
++ ____blk_run_queue(q, false);
+ }
+ EXPORT_SYMBOL(blk_start_queue);
+
+@@ -408,7 +408,7 @@ void blk_sync_queue(struct request_queue
+ EXPORT_SYMBOL(blk_sync_queue);
+
+ /**
+- * __blk_run_queue - run a single device queue
++ * ____blk_run_queue - run a single device queue
+ * @q: The queue to run
+ * @force_kblockd: Don't run @q->request_fn directly. Use kblockd.
+ *
+@@ -417,7 +417,7 @@ EXPORT_SYMBOL(blk_sync_queue);
+ * held and interrupts disabled.
+ *
+ */
+-void __blk_run_queue(struct request_queue *q, bool force_kblockd)
++void ____blk_run_queue(struct request_queue *q, bool force_kblockd)
+ {
+ blk_remove_plug(q);
+
+@@ -439,6 +439,12 @@ void __blk_run_queue(struct request_queu
+ kblockd_schedule_work(q, &q->unplug_work);
+ }
+ }
++EXPORT_SYMBOL(____blk_run_queue);
++
++void __blk_run_queue(struct request_queue *q)
++{
++ return ____blk_run_queue(q, false);
++}
+ EXPORT_SYMBOL(__blk_run_queue);
+
+ /**
+@@ -454,7 +460,7 @@ void blk_run_queue(struct request_queue
+ unsigned long flags;
+
+ spin_lock_irqsave(q->queue_lock, flags);
+- __blk_run_queue(q, false);
++ ____blk_run_queue(q, false);
+ spin_unlock_irqrestore(q->queue_lock, flags);
+ }
+ EXPORT_SYMBOL(blk_run_queue);
+@@ -1061,7 +1067,7 @@ void blk_insert_request(struct request_q
+
+ drive_stat_acct(rq, 1);
+ __elv_add_request(q, rq, where, 0);
+- __blk_run_queue(q, false);
++ ____blk_run_queue(q, false);
+ spin_unlock_irqrestore(q->queue_lock, flags);
+ }
+ EXPORT_SYMBOL(blk_insert_request);
+--- a/block/blk-flush.c
++++ b/block/blk-flush.c
+@@ -71,7 +71,7 @@ static void blk_flush_complete_seq_end_i
+ * request_fn may confuse the driver. Always use kblockd.
+ */
+ if (was_empty && next_rq)
+- __blk_run_queue(q, true);
++ ____blk_run_queue(q, true);
+ }
+
+ static void pre_flush_end_io(struct request *rq, int error)
+--- a/block/cfq-iosched.c
++++ b/block/cfq-iosched.c
+@@ -3335,7 +3335,7 @@ cfq_rq_enqueued(struct cfq_data *cfqd, s
+ cfqd->busy_queues > 1) {
+ cfq_del_timer(cfqd, cfqq);
+ cfq_clear_cfqq_wait_request(cfqq);
+- __blk_run_queue(cfqd->queue, false);
++ ____blk_run_queue(cfqd->queue, false);
+ } else {
+ cfq_blkiocg_update_idle_time_stats(
+ &cfqq->cfqg->blkg);
+@@ -3350,7 +3350,7 @@ cfq_rq_enqueued(struct cfq_data *cfqd, s
+ * this new queue is RT and the current one is BE
+ */
+ cfq_preempt_queue(cfqd, cfqq);
+- __blk_run_queue(cfqd->queue, false);
++ ____blk_run_queue(cfqd->queue, false);
+ }
+ }
+
+@@ -3711,7 +3711,7 @@ static void cfq_kick_queue(struct work_s
+ struct request_queue *q = cfqd->queue;
+
+ spin_lock_irq(q->queue_lock);
+- __blk_run_queue(cfqd->queue, false);
++ ____blk_run_queue(cfqd->queue, false);
+ spin_unlock_irq(q->queue_lock);
+ }
+
+--- a/block/elevator.c
++++ b/block/elevator.c
+@@ -602,7 +602,7 @@ void elv_quiesce_start(struct request_qu
+ */
+ elv_drain_elevator(q);
+ while (q->rq.elvpriv) {
+- __blk_run_queue(q, false);
++ ____blk_run_queue(q, false);
+ spin_unlock_irq(q->queue_lock);
+ msleep(10);
+ spin_lock_irq(q->queue_lock);
+@@ -651,7 +651,7 @@ void elv_insert(struct request_queue *q,
+ * with anything. There's no point in delaying queue
+ * processing.
+ */
+- __blk_run_queue(q, false);
++ ____blk_run_queue(q, false);
+ break;
+
+ case ELEVATOR_INSERT_SORT:
+--- a/drivers/scsi/scsi_lib.c
++++ b/drivers/scsi/scsi_lib.c
+@@ -443,7 +443,7 @@ static void scsi_run_queue(struct reques
+ &sdev->request_queue->queue_flags);
+ if (flagset)
+ queue_flag_set(QUEUE_FLAG_REENTER, sdev->request_queue);
+- __blk_run_queue(sdev->request_queue, false);
++ ____blk_run_queue(sdev->request_queue, false);
+ if (flagset)
+ queue_flag_clear(QUEUE_FLAG_REENTER, sdev->request_queue);
+ spin_unlock(sdev->request_queue->queue_lock);
+--- a/drivers/scsi/scsi_transport_fc.c
++++ b/drivers/scsi/scsi_transport_fc.c
+@@ -3829,7 +3829,7 @@ fc_bsg_goose_queue(struct fc_rport *rpor
+ !test_bit(QUEUE_FLAG_REENTER, &rport->rqst_q->queue_flags);
+ if (flagset)
+ queue_flag_set(QUEUE_FLAG_REENTER, rport->rqst_q);
+- __blk_run_queue(rport->rqst_q, false);
++ ____blk_run_queue(rport->rqst_q, false);
+ if (flagset)
+ queue_flag_clear(QUEUE_FLAG_REENTER, rport->rqst_q);
+ spin_unlock_irqrestore(rport->rqst_q->queue_lock, flags);
+--- a/include/linux/blkdev.h
++++ b/include/linux/blkdev.h
+@@ -700,7 +700,8 @@ extern void blk_start_queue(struct reque
+ extern void blk_stop_queue(struct request_queue *q);
+ extern void blk_sync_queue(struct request_queue *q);
+ extern void __blk_stop_queue(struct request_queue *q);
+-extern void __blk_run_queue(struct request_queue *q, bool force_kblockd);
++extern void __blk_run_queue(struct request_queue *);
++extern void ____blk_run_queue(struct request_queue *q, bool force_kblockd);
+ extern void blk_run_queue(struct request_queue *);
+ extern int blk_rq_map_user(struct request_queue *, struct request *,
+ struct rq_map_data *, void __user *, unsigned long,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/blk-revert-__invalidate_device-prototype-change.patch new/patches.kabi/blk-revert-__invalidate_device-prototype-change.patch
--- old/patches.kabi/blk-revert-__invalidate_device-prototype-change.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/blk-revert-__invalidate_device-prototype-change.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,85 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Subject: block: revert __invalidate_device prototype change
+Patch-mainline: never
+
+The stable commit "Fix over-zealous flush_disk when changing device
+size." changed prototype of __invalidate_device. This made the kabi
+checker unhappy. Revert the change because we export
+__invalidate_device.
+
+Now we have ____invalidate_device with the new prototype and
+__invalidate_device left untouched.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ block/genhd.c | 2 +-
+ drivers/block/floppy.c | 2 +-
+ fs/block_dev.c | 10 ++++++++--
+ include/linux/fs.h | 3 ++-
+ 4 files changed, 12 insertions(+), 5 deletions(-)
+
+--- a/block/genhd.c
++++ b/block/genhd.c
+@@ -1320,7 +1320,7 @@ int invalidate_partition(struct gendisk
+ struct block_device *bdev = bdget_disk(disk, partno);
+ if (bdev) {
+ fsync_bdev(bdev);
+- res = __invalidate_device(bdev, true);
++ res = ____invalidate_device(bdev, true);
+ bdput(bdev);
+ }
+ return res;
+--- a/drivers/block/floppy.c
++++ b/drivers/block/floppy.c
+@@ -3278,7 +3278,7 @@ static int set_geometry(unsigned int cmd
+ struct block_device *bdev = opened_bdev[cnt];
+ if (!bdev || ITYPE(drive_state[cnt].fd_device) != type)
+ continue;
+- __invalidate_device(bdev, true);
++ ____invalidate_device(bdev, true);
+ }
+ mutex_unlock(&open_lock);
+ } else {
+--- a/fs/block_dev.c
++++ b/fs/block_dev.c
+@@ -1219,7 +1219,7 @@ EXPORT_SYMBOL(open_by_devnum);
+ */
+ static void flush_disk(struct block_device *bdev, bool kill_dirty)
+ {
+- if (__invalidate_device(bdev, kill_dirty)) {
++ if (____invalidate_device(bdev, kill_dirty)) {
+ char name[BDEVNAME_SIZE] = "";
+
+ if (bdev->bd_disk)
+@@ -1776,7 +1776,7 @@ void close_bdev_exclusive(struct block_d
+
+ EXPORT_SYMBOL(close_bdev_exclusive);
+
+-int __invalidate_device(struct block_device *bdev, bool kill_dirty)
++int ____invalidate_device(struct block_device *bdev, bool kill_dirty)
+ {
+ struct super_block *sb = get_super(bdev);
+ int res = 0;
+@@ -1795,4 +1795,10 @@ int __invalidate_device(struct block_dev
+ invalidate_bdev(bdev);
+ return res;
+ }
++EXPORT_SYMBOL(____invalidate_device);
++
++int __invalidate_device(struct block_device *bdev)
++{
++ return ____invalidate_device(bdev, true);
++}
+ EXPORT_SYMBOL(__invalidate_device);
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -2148,7 +2148,8 @@ extern void check_disk_size_change(struc
+ struct block_device *bdev);
+ extern int revalidate_disk(struct gendisk *);
+ extern int check_disk_change(struct block_device *);
+-extern int __invalidate_device(struct block_device *, bool);
++extern int __invalidate_device(struct block_device *);
++extern int ____invalidate_device(struct block_device *, bool);
+ extern int invalidate_partition(struct gendisk *, int);
+ #endif
+ unsigned long invalidate_mapping_pages(struct address_space *mapping,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/block-export-lost-functions.patch new/patches.kabi/block-export-lost-functions.patch
--- old/patches.kabi/block-export-lost-functions.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/block-export-lost-functions.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,138 @@
+Subject: Block: export lost functions
+From: Jiri Slaby <jslaby(a)suse.cz>
+Patch-mainline: never
+
+The stable patch "blk-throttle: Do not use kblockd workqueue for
+throtl work" unexported the symbols, but we track them for external use.
+So redefine them back.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ block/blk-core.c | 7 +++++++
+ block/blk-throttle.c | 22 ++++++++++++++--------
+ include/linux/blkdev.h | 3 +++
+ 3 files changed, 24 insertions(+), 8 deletions(-)
+
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -326,6 +326,13 @@ void blk_unplug_timeout(unsigned long da
+ kblockd_schedule_work(q, &q->unplug_work);
+ }
+
++int kblockd_schedule_delayed_work(struct request_queue *q,
++ struct delayed_work *dwork, unsigned long delay)
++{
++ return queue_delayed_work(kblockd_workqueue, dwork, delay);
++}
++EXPORT_SYMBOL(kblockd_schedule_delayed_work);
++
+ void blk_unplug(struct request_queue *q)
+ {
+ /*
+--- a/block/blk-throttle.c
++++ b/block/blk-throttle.c
+@@ -22,7 +22,7 @@ static unsigned long throtl_slice = HZ/1
+
+ /* A workqueue to queue throttle related work */
+ static struct workqueue_struct *kthrotld_workqueue;
+-static void throtl_schedule_delayed_work(struct throtl_data *td,
++static void __throtl_schedule_delayed_work(struct throtl_data *td,
+ unsigned long delay);
+
+ struct throtl_rb_root {
+@@ -342,9 +342,9 @@ static void throtl_schedule_next_dispatc
+ update_min_dispatch_time(st);
+
+ if (time_before_eq(st->min_disptime, jiffies))
+- throtl_schedule_delayed_work(td, 0);
++ __throtl_schedule_delayed_work(td, 0);
+ else
+- throtl_schedule_delayed_work(td, (st->min_disptime - jiffies));
++ __throtl_schedule_delayed_work(td, (st->min_disptime - jiffies));
+ }
+
+ static inline void
+@@ -812,7 +812,7 @@ void blk_throtl_work(struct work_struct
+
+ /* Call with queue lock held */
+ static void
+-throtl_schedule_delayed_work(struct throtl_data *td, unsigned long delay)
++__throtl_schedule_delayed_work(struct throtl_data *td, unsigned long delay)
+ {
+
+ struct delayed_work *dwork = &td->throtl_work;
+@@ -829,6 +829,12 @@ throtl_schedule_delayed_work(struct thro
+ }
+ }
+
++void throtl_schedule_delayed_work(struct request_queue *q, unsigned long delay)
++{
++ __throtl_schedule_delayed_work(q->td, delay);
++}
++EXPORT_SYMBOL(throtl_schedule_delayed_work);
++
+ static void
+ throtl_destroy_tg(struct throtl_data *td, struct throtl_grp *tg)
+ {
+@@ -915,7 +921,7 @@ static void throtl_update_blkio_group_re
+ smp_mb__after_atomic_inc();
+
+ /* Schedule a work now to process the limit change */
+- throtl_schedule_delayed_work(td, 0);
++ __throtl_schedule_delayed_work(td, 0);
+ }
+
+ static void throtl_update_blkio_group_write_bps(void *key,
+@@ -929,7 +935,7 @@ static void throtl_update_blkio_group_wr
+ smp_mb__before_atomic_inc();
+ atomic_inc(&td->limits_changed);
+ smp_mb__after_atomic_inc();
+- throtl_schedule_delayed_work(td, 0);
++ __throtl_schedule_delayed_work(td, 0);
+ }
+
+ static void throtl_update_blkio_group_read_iops(void *key,
+@@ -943,7 +949,7 @@ static void throtl_update_blkio_group_re
+ smp_mb__before_atomic_inc();
+ atomic_inc(&td->limits_changed);
+ smp_mb__after_atomic_inc();
+- throtl_schedule_delayed_work(td, 0);
++ __throtl_schedule_delayed_work(td, 0);
+ }
+
+ static void throtl_update_blkio_group_write_iops(void *key,
+@@ -957,7 +963,7 @@ static void throtl_update_blkio_group_wr
+ smp_mb__before_atomic_inc();
+ atomic_inc(&td->limits_changed);
+ smp_mb__after_atomic_inc();
+- throtl_schedule_delayed_work(td, 0);
++ __throtl_schedule_delayed_work(td, 0);
+ }
+
+ void throtl_shutdown_timer_wq(struct request_queue *q)
+--- a/include/linux/blkdev.h
++++ b/include/linux/blkdev.h
+@@ -1093,6 +1093,7 @@ static inline void put_dev_sector(Sector
+
+ struct work_struct;
+ int kblockd_schedule_work(struct request_queue *q, struct work_struct *work);
++int kblockd_schedule_delayed_work(struct request_queue *q, struct delayed_work *dwork, unsigned long delay);
+
+ #ifdef CONFIG_BLK_CGROUP
+ /*
+@@ -1140,6 +1141,7 @@ static inline uint64_t rq_io_start_time_
+ extern int blk_throtl_init(struct request_queue *q);
+ extern void blk_throtl_exit(struct request_queue *q);
+ extern int blk_throtl_bio(struct request_queue *q, struct bio **bio);
++extern void throtl_schedule_delayed_work(struct request_queue *q, unsigned long delay);
+ extern void throtl_shutdown_timer_wq(struct request_queue *q);
+ #else /* CONFIG_BLK_DEV_THROTTLING */
+ static inline int blk_throtl_bio(struct request_queue *q, struct bio **bio)
+@@ -1149,6 +1151,7 @@ static inline int blk_throtl_bio(struct
+
+ static inline int blk_throtl_init(struct request_queue *q) { return 0; }
+ static inline int blk_throtl_exit(struct request_queue *q) { return 0; }
++static inline void throtl_schedule_delayed_work(struct request_queue *q, unsigned long delay) {}
+ static inline void throtl_shutdown_timer_wq(struct request_queue *q) {}
+ #endif /* CONFIG_BLK_DEV_THROTTLING */
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/ethtool-guard-against-compat-h.patch new/patches.kabi/ethtool-guard-against-compat-h.patch
--- old/patches.kabi/ethtool-guard-against-compat-h.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/ethtool-guard-against-compat-h.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,27 @@
+Subject: ethtool: guard against compat.h
+From: Jiri Slaby <jslaby(a)suse.cz>
+Patch-mainline: never
+
+This patch guards the include of compat.h because it defines a previously
+undefined type, causing kabi breakage.
+
+So ignore it by the kabichecker.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ include/linux/ethtool.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/include/linux/ethtool.h
++++ b/include/linux/ethtool.h
+@@ -14,8 +14,10 @@
+ #define _LINUX_ETHTOOL_H
+
+ #ifdef __KERNEL__
++#ifndef __GENKSYMS__
+ #include <linux/compat.h>
+ #endif
++#endif
+ #include <linux/types.h>
+ #include <linux/if_ether.h>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/md-mddev_s-kABI-guard.patch new/patches.kabi/md-mddev_s-kABI-guard.patch
--- old/patches.kabi/md-mddev_s-kABI-guard.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/md-mddev_s-kABI-guard.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,26 @@
+Subject: MD: mddev_s kABI guard
+From: Jiri Slaby <jslaby(a)suse.cz>
+Patch-mainline: never
+
+A stable update changed mddev_s struct. But this structure is MD
+internal only, so tell the kabi checker to ignore the change.
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ drivers/md/md.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/md/md.h
++++ b/drivers/md/md.h
+@@ -269,9 +269,10 @@ struct mddev_s
+ struct mutex reconfig_mutex;
+ atomic_t active; /* general refcount */
+ atomic_t openers; /* number of active opens */
+-
++#ifndef __GENKSYMS__
+ int changed; /* True if we might need to
+ * reread partition info */
++#endif
+ int degraded; /* whether md should consider
+ * adding a spare
+ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/reiserfs-force-inode-evictions-before-umount-to-avoid-crash new/patches.kabi/reiserfs-force-inode-evictions-before-umount-to-avoid-crash
--- old/patches.kabi/reiserfs-force-inode-evictions-before-umount-to-avoid-crash 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/reiserfs-force-inode-evictions-before-umount-to-avoid-crash 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,44 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: KABI: Re-export shrink_dcache_for_umount_subtree
+Patch-mainline: Never
+
+ shrink_dcache_for_umount_subtree was used by the now-obsolete
+ patches.fixes/reiserfs-xattr-crash-fix patch.
+
+ The newer fix doesn't require it but removing the export breaks the fs
+ kABI. There aren't any users of this export and it is retained only
+ for compatibility.
+
+ DO NOT USE.
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ fs/dcache.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+--- a/fs/dcache.c
++++ b/fs/dcache.c
+@@ -637,7 +637,7 @@ EXPORT_SYMBOL(shrink_dcache_sb);
+ * - see the comments on shrink_dcache_for_umount() for a description of the
+ * locking
+ */
+-static void shrink_dcache_for_umount_subtree(struct dentry *dentry)
++void shrink_dcache_for_umount_subtree(struct dentry *dentry)
+ {
+ struct dentry *parent;
+ unsigned detached = 0;
+@@ -727,6 +727,14 @@ static void shrink_dcache_for_umount_sub
+ }
+
+ /*
++ * No known users; Was used by an older version of a fix
++ * to avoid reiserfs xattr crashes during umount but was
++ * obsoleted by openSUSE-11.4 commit 895e529b.
++ * Export kept to preserve kABI -jeffm
++ */
++EXPORT_SYMBOL_GPL(shrink_dcache_for_umount_subtree);
++
++/*
+ * destroy the dentries attached to a superblock on unmounting
+ * - we don't need to use dentry->d_lock, and only need dcache_lock when
+ * removing the dentry from the system lists and hashes because:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch new/patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch
--- old/patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,194 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Subject: Revert "mm: prevent concurrent unmap_mapping_range() on the same inode"
+Patch-mainline: never
+
+This reverts commit e98b9902196dd0bd598fae9b3bdbfda57a9e352b.
+
+It breaks kabi. We have a non-kabi breaking fix in:
+patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ fs/gfs2/main.c | 9 ++++++++-
+ fs/inode.c | 22 +++++++---------------
+ fs/nilfs2/btnode.c | 5 +++++
+ fs/nilfs2/btnode.h | 1 +
+ fs/nilfs2/mdt.c | 4 ++--
+ fs/nilfs2/page.h | 1 +
+ fs/nilfs2/super.c | 2 +-
+ include/linux/fs.h | 2 --
+ mm/memory.c | 2 --
+ 9 files changed, 25 insertions(+), 23 deletions(-)
+
+diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c
+index f910999..ebef7ab 100644
+--- a/fs/gfs2/main.c
++++ b/fs/gfs2/main.c
+@@ -59,7 +59,14 @@ static void gfs2_init_gl_aspace_once(void *foo)
+ struct address_space *mapping = (struct address_space *)(gl + 1);
+
+ gfs2_init_glock_once(gl);
+- address_space_init_once(mapping);
++ memset(mapping, 0, sizeof(*mapping));
++ INIT_RADIX_TREE(&mapping->page_tree, GFP_ATOMIC);
++ spin_lock_init(&mapping->tree_lock);
++ spin_lock_init(&mapping->i_mmap_lock);
++ INIT_LIST_HEAD(&mapping->private_list);
++ spin_lock_init(&mapping->private_lock);
++ INIT_RAW_PRIO_TREE_ROOT(&mapping->i_mmap);
++ INIT_LIST_HEAD(&mapping->i_mmap_nonlinear);
+ }
+
+ /**
+diff --git a/fs/inode.c b/fs/inode.c
+index e45734b..12a7aa5 100644
+--- a/fs/inode.c
++++ b/fs/inode.c
+@@ -280,20 +280,6 @@ static void destroy_inode(struct inode *inode)
+ kmem_cache_free(inode_cachep, (inode));
+ }
+
+-void address_space_init_once(struct address_space *mapping)
+-{
+- memset(mapping, 0, sizeof(*mapping));
+- INIT_RADIX_TREE(&mapping->page_tree, GFP_ATOMIC);
+- spin_lock_init(&mapping->tree_lock);
+- spin_lock_init(&mapping->i_mmap_lock);
+- INIT_LIST_HEAD(&mapping->private_list);
+- spin_lock_init(&mapping->private_lock);
+- INIT_RAW_PRIO_TREE_ROOT(&mapping->i_mmap);
+- INIT_LIST_HEAD(&mapping->i_mmap_nonlinear);
+- mutex_init(&mapping->unmap_mutex);
+-}
+-EXPORT_SYMBOL(address_space_init_once);
+-
+ /*
+ * These are initializations that only need to be done
+ * once, because the fields are idempotent across use
+@@ -307,7 +293,13 @@ void inode_init_once(struct inode *inode)
+ INIT_LIST_HEAD(&inode->i_devices);
+ INIT_LIST_HEAD(&inode->i_wb_list);
+ INIT_LIST_HEAD(&inode->i_lru);
+- address_space_init_once(&inode->i_data);
++ INIT_RADIX_TREE(&inode->i_data.page_tree, GFP_ATOMIC);
++ spin_lock_init(&inode->i_data.tree_lock);
++ spin_lock_init(&inode->i_data.i_mmap_lock);
++ INIT_LIST_HEAD(&inode->i_data.private_list);
++ spin_lock_init(&inode->i_data.private_lock);
++ INIT_RAW_PRIO_TREE_ROOT(&inode->i_data.i_mmap);
++ INIT_LIST_HEAD(&inode->i_data.i_mmap_nonlinear);
+ i_size_ordered_init(inode);
+ #ifdef CONFIG_FSNOTIFY
+ INIT_HLIST_HEAD(&inode->i_fsnotify_marks);
+diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
+index 3b008b8..5115814 100644
+--- a/fs/nilfs2/btnode.c
++++ b/fs/nilfs2/btnode.c
+@@ -35,6 +35,11 @@
+ #include "btnode.h"
+
+
++void nilfs_btnode_cache_init_once(struct address_space *btnc)
++{
++ nilfs_mapping_init_once(btnc);
++}
++
+ static const struct address_space_operations def_btnode_aops = {
+ .sync_page = block_sync_page,
+ };
+diff --git a/fs/nilfs2/btnode.h b/fs/nilfs2/btnode.h
+index 1b8ebd8..7903749 100644
+--- a/fs/nilfs2/btnode.h
++++ b/fs/nilfs2/btnode.h
+@@ -37,6 +37,7 @@ struct nilfs_btnode_chkey_ctxt {
+ struct buffer_head *newbh;
+ };
+
++void nilfs_btnode_cache_init_once(struct address_space *);
+ void nilfs_btnode_cache_init(struct address_space *, struct backing_dev_info *);
+ void nilfs_btnode_cache_clear(struct address_space *);
+ struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
+diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
+index bdb8de6..39a5b84 100644
+--- a/fs/nilfs2/mdt.c
++++ b/fs/nilfs2/mdt.c
+@@ -460,9 +460,9 @@ int nilfs_mdt_setup_shadow_map(struct inode *inode,
+ struct backing_dev_info *bdi = inode->i_sb->s_bdi;
+
+ INIT_LIST_HEAD(&shadow->frozen_buffers);
+- address_space_init_once(&shadow->frozen_data);
++ nilfs_mapping_init_once(&shadow->frozen_data);
+ nilfs_mapping_init(&shadow->frozen_data, bdi, &shadow_map_aops);
+- address_space_init_once(&shadow->frozen_btnodes);
++ nilfs_mapping_init_once(&shadow->frozen_btnodes);
+ nilfs_mapping_init(&shadow->frozen_btnodes, bdi, &shadow_map_aops);
+ mi->mi_shadow = shadow;
+ return 0;
+diff --git a/fs/nilfs2/page.h b/fs/nilfs2/page.h
+index b7e2726..fb9e8a8 100644
+--- a/fs/nilfs2/page.h
++++ b/fs/nilfs2/page.h
+@@ -61,6 +61,7 @@ void nilfs_free_private_page(struct page *);
+ int nilfs_copy_dirty_pages(struct address_space *, struct address_space *);
+ void nilfs_copy_back_pages(struct address_space *, struct address_space *);
+ void nilfs_clear_dirty_pages(struct address_space *);
++void nilfs_mapping_init_once(struct address_space *mapping);
+ void nilfs_mapping_init(struct address_space *mapping,
+ struct backing_dev_info *bdi,
+ const struct address_space_operations *aops);
+diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
+index 388e26b..2940a58 100644
+--- a/fs/nilfs2/super.c
++++ b/fs/nilfs2/super.c
+@@ -1263,7 +1263,7 @@ static void nilfs_inode_init_once(void *obj)
+ #ifdef CONFIG_NILFS_XATTR
+ init_rwsem(&ii->xattr_sem);
+ #endif
+- address_space_init_once(&ii->i_btnode_cache);
++ nilfs_btnode_cache_init_once(&ii->i_btnode_cache);
+ ii->i_bmap = &ii->i_bmap_data;
+ inode_init_once(&ii->vfs_inode);
+ }
+diff --git a/include/linux/fs.h b/include/linux/fs.h
+index 0570a28..b9f7a33 100644
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -646,7 +646,6 @@ struct address_space {
+ spinlock_t private_lock; /* for use by the address_space */
+ struct list_head private_list; /* ditto */
+ struct address_space *assoc_mapping; /* ditto */
+- struct mutex unmap_mutex; /* to protect unmapping */
+ } __attribute__((aligned(sizeof(long))));
+ /*
+ * On most architectures that alignment is already the case; but
+@@ -2204,7 +2203,6 @@ extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin);
+
+ extern int inode_init_always(struct super_block *, struct inode *);
+ extern void inode_init_once(struct inode *);
+-extern void address_space_init_once(struct address_space *mapping);
+ extern void ihold(struct inode * inode);
+ extern void iput(struct inode *);
+ extern struct inode * igrab(struct inode *);
+diff --git a/mm/memory.c b/mm/memory.c
+index e8b2f03..02e48aa 100644
+--- a/mm/memory.c
++++ b/mm/memory.c
+@@ -2572,7 +2572,6 @@ void unmap_mapping_range(struct address_space *mapping,
+ details.last_index = ULONG_MAX;
+ details.i_mmap_lock = &mapping->i_mmap_lock;
+
+- mutex_lock(&mapping->unmap_mutex);
+ spin_lock(&mapping->i_mmap_lock);
+
+ /* Protect against endless unmapping loops */
+@@ -2589,7 +2588,6 @@ void unmap_mapping_range(struct address_space *mapping,
+ if (unlikely(!list_empty(&mapping->i_mmap_nonlinear)))
+ unmap_mapping_range_list(&mapping->i_mmap_nonlinear, &details);
+ spin_unlock(&mapping->i_mmap_lock);
+- mutex_unlock(&mapping->unmap_mutex);
+ }
+ EXPORT_SYMBOL(unmap_mapping_range);
+
+--
+1.7.4.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kabi/sched-autogroup-fix-rt-group-sched new/patches.kabi/sched-autogroup-fix-rt-group-sched
--- old/patches.kabi/sched-autogroup-fix-rt-group-sched 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kabi/sched-autogroup-fix-rt-group-sched 2011-04-25 16:25:08.000000000 +0200
@@ -0,0 +1,30 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: kABI: Guard changes to struct autogroup
+References: bnc#680510
+Patch-mainline: Never. kABI fix.
+
+ This patch guards the changes to struct autogroup to avoid the kABI checker
+ triggering on it. The structure is referenced from task_struct but is
+ forward declared. The only real declaration is in kernel/, it's dynamically
+ allocated, and only referenced from the autogroup code. The change is
+ safe to include.
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ kernel/sched_autogroup.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/kernel/sched_autogroup.h
++++ b/kernel/sched_autogroup.h
+@@ -7,9 +7,11 @@ struct autogroup {
+ unsigned long id;
+ int nice;
+ #ifdef CONFIG_RT_GROUP_SCHED
++#ifndef __GENKSYMS__
+ struct sched_rt_entity **rt_se;
+ struct rt_rq **rt_rq;
+ #endif
++#endif
+ };
+
+ static inline struct task_group *
++++++ patches.kernel.org.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.pa… new/patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.pa…
--- old/patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.pa… 2011-04-06 22:43:39.000000000 +0200
+++ new/patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.pa… 1970-01-01 01:00:00.000000000 +0100
@@ -1,125 +0,0 @@
-From 0fc33e5e837dc05367bb7ba1117f061ab4151df5 Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby(a)suse.cz>
-Date: Wed, 6 Apr 2011 22:37:36 +0200
-Subject: Revert "x86: Cleanup highmap after brk is concluded"
-Patch-mainline: asked to be reverted
-References: bnc#684248
-
-This reverts commit 72f2999e41d09468b29de855ffc02f94e87a675e.
-
-It's crap and breaks resume.
-
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- arch/x86/kernel/head64.c | 3 +++
- arch/x86/kernel/setup.c | 5 -----
- arch/x86/mm/init.c | 19 +++++++++++++++++++
- arch/x86/mm/init_64.c | 11 +++++------
- 4 files changed, 27 insertions(+), 11 deletions(-)
-
-diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
-index 5655c22..2d2673c 100644
---- a/arch/x86/kernel/head64.c
-+++ b/arch/x86/kernel/head64.c
-@@ -77,6 +77,9 @@ void __init x86_64_start_kernel(char * real_mode_data)
- /* Make NULL pointers segfault */
- zap_identity_mappings();
-
-+ /* Cleanup the over mapped high alias */
-+ cleanup_highmap();
-+
- max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT;
-
- for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) {
-diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index e543fe9..d3cfe26 100644
---- a/arch/x86/kernel/setup.c
-+++ b/arch/x86/kernel/setup.c
-@@ -297,9 +297,6 @@ static void __init init_gbpages(void)
- static inline void init_gbpages(void)
- {
- }
--static void __init cleanup_highmap(void)
--{
--}
- #endif
-
- static void __init reserve_brk(void)
-@@ -925,8 +922,6 @@ void __init setup_arch(char **cmdline_p)
- */
- reserve_brk();
-
-- cleanup_highmap();
--
- memblock.current_limit = get_max_mapped();
- memblock_x86_fill();
-
-diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
-index f13ff3a..947f42a 100644
---- a/arch/x86/mm/init.c
-+++ b/arch/x86/mm/init.c
-@@ -279,6 +279,25 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
- load_cr3(swapper_pg_dir);
- #endif
-
-+#ifdef CONFIG_X86_64
-+ if (!after_bootmem && !start) {
-+ pud_t *pud;
-+ pmd_t *pmd;
-+
-+ mmu_cr4_features = read_cr4();
-+
-+ /*
-+ * _brk_end cannot change anymore, but it and _end may be
-+ * located on different 2M pages. cleanup_highmap(), however,
-+ * can only consider _end when it runs, so destroy any
-+ * mappings beyond _brk_end here.
-+ */
-+ pud = pud_offset(pgd_offset_k(_brk_end), _brk_end);
-+ pmd = pmd_offset(pud, _brk_end - 1);
-+ while (++pmd <= pmd_offset(pud, (unsigned long)_end - 1))
-+ pmd_clear(pmd);
-+ }
-+#endif
- __flush_tlb_all();
-
- if (!after_bootmem && e820_table_end > e820_table_start)
-diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
-index 68f9921..c14a542 100644
---- a/arch/x86/mm/init_64.c
-+++ b/arch/x86/mm/init_64.c
-@@ -51,7 +51,6 @@
- #include <asm/numa.h>
- #include <asm/cacheflush.h>
- #include <asm/init.h>
--#include <asm/setup.h>
-
- static int __init parse_direct_gbpages_off(char *arg)
- {
-@@ -294,18 +293,18 @@ void __init init_extra_mapping_uc(unsigned long phys, unsigned long size)
- * to the compile time generated pmds. This results in invalid pmds up
- * to the point where we hit the physaddr 0 mapping.
- *
-- * We limit the mappings to the region from _text to _brk_end. _brk_end
-- * is rounded up to the 2MB boundary. This catches the invalid pmds as
-+ * We limit the mappings to the region from _text to _end. _end is
-+ * rounded up to the 2MB boundary. This catches the invalid pmds as
- * well, as they are located before _text:
- */
- void __init cleanup_highmap(void)
- {
- unsigned long vaddr = __START_KERNEL_map;
-- unsigned long vaddr_end = __START_KERNEL_map + (max_pfn_mapped << PAGE_SHIFT);
-- unsigned long end = roundup((unsigned long)_brk_end, PMD_SIZE) - 1;
-+ unsigned long end = roundup((unsigned long)_end, PMD_SIZE) - 1;
- pmd_t *pmd = level2_kernel_pgt;
-+ pmd_t *last_pmd = pmd + PTRS_PER_PMD;
-
-- for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) {
-+ for (; pmd < last_pmd; pmd++, vaddr += PMD_SIZE) {
- if (pmd_none(*pmd))
- continue;
- if (vaddr < (unsigned long) _text || vaddr > end)
---
-1.7.4.2
-
++++++ patches.suse.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.xen/xen-i386-add-missing-end-for-spurious_interrupt_bug new/patches.xen/xen-i386-add-missing-end-for-spurious_interrupt_bug
--- old/patches.xen/xen-i386-add-missing-end-for-spurious_interrupt_bug 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.xen/xen-i386-add-missing-end-for-spurious_interrupt_bug 2011-04-25 21:48:33.000000000 +0200
@@ -0,0 +1,32 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: xen/i386: Add missing END for spurious_interrupt_bug
+Patch-mainline: Whenever Xen gets there
+
+ An update to binutils caused this code to start failing to build. The
+ issue is that the END(spurious_interrupt_bug) outside the ifndef
+ was referencing the undefined start of the block.
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ arch/x86/kernel/entry_32-xen.S | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/kernel/entry_32-xen.S
++++ b/arch/x86/kernel/entry_32-xen.S
+@@ -1219,6 +1219,7 @@ ENTRY(spurious_interrupt_bug)
+ pushl_cfi $do_spurious_interrupt_bug
+ jmp error_code
+ CFI_ENDPROC
++END(spurious_interrupt_bug)
+ #endif /* !CONFIG_XEN */
+
+ ENTRY(fixup_4gb_segment)
+@@ -1226,7 +1227,7 @@ ENTRY(fixup_4gb_segment)
+ pushl_cfi $do_fixup_4gb_segment
+ jmp error_code
+ CFI_ENDPROC
+-END(spurious_interrupt_bug)
++END(fixup_4gb_segment)
+ /*
+ * End of kprobes section
+ */
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.RKkBBr/_old 2011-04-26 18:29:59.000000000 +0200
+++ /var/tmp/diff_new_pack.RKkBBr/_new 2011-04-26 18:29:59.000000000 +0200
@@ -33,7 +33,6 @@
patches.kernel.org/patch-2.6.37.3-4
patches.kernel.org/patch-2.6.37.4-5
patches.kernel.org/patch-2.6.37.5-6
- patches.kernel.org/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -48,6 +47,14 @@
########################################################
# kABI consistency patches
########################################################
+ patches.kabi/ethtool-guard-against-compat-h.patch
+ patches.kabi/md-mddev_s-kABI-guard.patch
+ patches.kabi/FUSE-fuse_req-kABI-guard.patch
+ patches.kabi/block-export-lost-functions.patch
+ patches.kabi/DRM-revert-drm_device-num_crtcs-change.patch
+ patches.kabi/blk-revert-__blk_run_queue-prototype-change.patch
+ patches.kabi/blk-revert-__invalidate_device-prototype-change.patch
+ patches.kabi/revert-mm-prevent-concurrent-unmap_mapping_range-on-.patch
########################################################
#
@@ -93,6 +100,7 @@
patches.suse/sched-automated-per-session-task-groups
patches.suse/sched-autogroup-fix-rt-group-sched
+ patches.kabi/sched-autogroup-fix-rt-group-sched
patches.fixes/taskstats-better-ifdef
patches.fixes/prevent-rt_sigqueueinfo-from-spoofing-fix.patch
@@ -137,6 +145,7 @@
patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic
patches.suse/x86-mark_rodata_rw.patch
+ patches.arch/revert-x86-Cleanup-highmap-after-brk-is-concluded.patch
########################################################
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
@@ -215,6 +224,8 @@
+36 patches.fixes/aggressive-zone-reclaim.patch
patches.suse/readahead-request-tunables.patch
patches.fixes/page_cgroup-reduce-allocation-overhead.patch
+ patches.fixes/fs-partitions-efi-c-corrupted-guid-partition-tables-can-cause-kernel-oops
+ patches.fixes/mm-prevent-concurrent-unmap_mapping_range-on-.patch
########################################################
# IPC patches
@@ -232,6 +243,18 @@
patches.suse/connector-read-mostly
patches.suse/kbd-ignore-gfx.patch
+ patches.fixes/media-video-sn9c102-world-wirtable-sysfs-files
+ patches.fixes/drivers-rtc-rtc-ds1511-c-world-writable-sysfs-nvram-file
+ patches.fixes/scsi-aic94xx-world-writable-sysfs-update_bios-file
+ patches.fixes/ubifs-restrict-world-writable-debugfs-files
+ patches.fixes/mfd-ab3100-world-writable-debugfs-_priv-files
+ patches.fixes/drivers-misc-ep93xx_pwm-c-world-writable-sysfs-files
+ patches.fixes/mfd-ab3500-world-writable-debugfs-register-files
+ patches.fixes/scsi-scsi_transport_iscsi-make-priv_sess-file-writeable-only-by-root
+ patches.fixes/mfd-ab8500-world-writable-debugfs-register-files
+ patches.fixes/drivers-leds-leds-lp5521-c-world-writable-sysfs-engine-files
+ patches.fixes/drivers-leds-leds-lp5523-c-world-writable-engine-sysfs-files
+
########################################################
#
# ACPI patches
@@ -314,6 +337,8 @@
patches.drivers/gro-Reset-dev-pointer-on-reuse.patch
patches.drivers/gro-reset-skb_iif-on-reuse.patch
+ patches.fixes/irda-validate-peer-name-and-attribute-lengths
+ patches.fixes/bonding-Incorrect-TX-queue-offset.patch
########################################################
# NFS
@@ -323,7 +348,7 @@
patches.fixes/nfs-adaptive-readdir-plus
+needs_update37 patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch
-
+ patches.fixes/sunrpc-gssd-fix-mount-failure-with-rc4-hmac-md5
########################################################
# lockd + statd
########################################################
@@ -341,6 +366,8 @@
########################################################
# ext4
########################################################
+ patches.fixes/ext4-mark-multi-page-IO-complete-on-mapping-failure.patch
+ patches.fixes/ext4-fix-ext4_da_block_invalidatepages-to-handle-pag.patch
########################################################
# btrfs
@@ -353,6 +380,7 @@
patches.fixes/reiserfs-remove-2-tb-file-size-limit
patches.suse/reiser4-dependencies
patches.fixes/reiserfs-force-inode-evictions-before-umount-to-avoid-crash
+ patches.kabi/reiserfs-force-inode-evictions-before-umount-to-avoid-crash
########################################################
# dlm
@@ -443,6 +471,7 @@
patches.suse/SoN-16-netvm-reserve-inet.patch
patches.suse/SoN-16a-netvm-reserve-inet.patch
patches.suse/SoN-16b-netvm-reserve-inet.patch
+ patches.kabi/SoN-16b-netvm-reserve-inet.patch
patches.suse/SoN-17-netvm-reserve-inet.patch-fix
patches.suse/SoN-18-netvm-skbuff-reserve.patch
patches.suse/SoN-19-netvm-sk_filter.patch
@@ -490,6 +519,8 @@
# libata
patches.drivers/libata-unlock-hpa-by-default
+ patches.fixes/libata-dvr-212d-can-t-do-setxfer-dvd-rw-dvr-212d
+ patches.fixes/libata-dvr-216d-can-t-do-setxfer-dvd-rw-dvr-216d
# Block layer fixes
patches.fixes/scsi-inquiry-too-short-ratelimit
@@ -523,6 +554,7 @@
########################################################
# DRM/Video
########################################################
+ patches.fixes/drm-radeon-kms-check-AA-resolve-registers-on-r300.patch
########################################################
# video4linux
@@ -551,6 +583,7 @@
patches.fixes/bridge-fix-hash-list-corruption.patch
patches.fixes/bridge-fix-timer-arming.patch
patches.fixes/bridge-remove-hash-list.patch
+ patches.fixes/bridge-fix-802.3ad-bonding.patch
patches.fixes/rose-prevent-heap-corruption-with-bad-facilities.patch
patches.fixes/rose-add-length-checks-to-CALL_REQUEST-parsing.patch
@@ -589,6 +622,7 @@
########################################################
# I2C
########################################################
+ patches.fixes/i2c-algo-bit-call-pre-post_xfer-for-bit_test.patch
########################################################
# Input & Console
@@ -681,6 +715,7 @@
# Security stuff
#
##########################################################
+ patches.fixes/char-tpm-fix-unitialized-usage-of-data-buffer
##########################################################
# Audit
@@ -908,3 +943,4 @@
patches.xen/xen-x86_64-dump-user-pgt
patches.xen/xen-x86_64-note-init-p2m
patches.xen/xen-x86_64-unmapped-initrd
+ patches.xen/xen-i386-add-missing-end-for-spurious_interrupt_bug
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.RKkBBr/_old 2011-04-26 18:29:59.000000000 +0200
+++ /var/tmp/diff_new_pack.RKkBBr/_new 2011-04-26 18:29:59.000000000 +0200
@@ -1,3 +1,3 @@
-2011-04-11 19:13:22 +0200
-GIT Revision: fbf0cf7b3cd00c357386d6c7b3c7c08f72fd4736
+2011-04-25 21:48:33 +0200
+GIT Revision: d0f6e4da2c21cf437fe3e5d7ae2556c4d70f571f
GIT Branch: openSUSE-11.4
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rpmlint for openSUSE:Factory
checked in at Tue Apr 26 16:54:21 CEST 2011.
--------
--- rpmlint/rpmlint.changes 2011-04-21 15:01:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/rpmlint/rpmlint.changes 2011-04-23 11:26:24.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Apr 23 11:11:37 CEST 2011 - dmueller(a)suse.de
+
+- fix abort in BinariesCheck
+- fix sysv5-init-check.diff for real
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.yvc8kJ/_old 2011-04-26 16:53:39.000000000 +0200
+++ /var/tmp/diff_new_pack.yvc8kJ/_new 2011-04-26 16:53:39.000000000 +0200
@@ -23,7 +23,7 @@
BuildRequires: rpm-python
Summary: Rpm correctness checker
Version: 1.1
-Release: 27
+Release: 29
Source0: %{name}-%{version}.tar.bz2
Source1: config
Source1001: config.in
++++++ suse-binarieschecks.diff ++++++
--- /var/tmp/diff_new_pack.yvc8kJ/_old 2011-04-26 16:53:39.000000000 +0200
+++ /var/tmp/diff_new_pack.yvc8kJ/_new 2011-04-26 16:53:39.000000000 +0200
@@ -1,8 +1,6 @@
-Index: BinariesCheck.py
-===================================================================
---- BinariesCheck.py.orig
+--- BinariesCheck.py
+++ BinariesCheck.py
-@@ -10,6 +10,7 @@
+@@ -10,13 +10,15 @@
import re
import stat
@@ -10,7 +8,8 @@
import rpm
-@@ -17,6 +18,7 @@ from Filter import addDetails, printErro
+-from Filter import addDetails, printError, printWarning
++from Filter import addDetails, printError, printWarning, printInfo
import AbstractCheck
import Config
import Pkg
@@ -18,7 +17,7 @@
DEFAULT_SYSTEM_LIB_PATHS = (
-@@ -37,6 +39,9 @@ class BinaryInfo:
+@@ -37,6 +39,9 @@
unused_regex = re.compile('^\s+(\S+)')
exit_call_regex = re.compile('\s+FUNC\s+.*?\s+(_?exit(?:@\S+)?)(?:\s|$)')
fork_call_regex = re.compile('\s+FUNC\s+.*?\s+(fork(?:@\S+)?)(?:\s|$)')
@@ -28,7 +27,7 @@
def __init__(self, pkg, path, file, is_ar, is_shlib):
self.readelf_error = False
-@@ -50,7 +55,10 @@ class BinaryInfo:
+@@ -50,7 +55,10 @@
self.stack = False
self.exec_stack = False
self.exit_calls = []
@@ -39,7 +38,7 @@
self.tail = ''
is_debug = path.endswith('.debug')
-@@ -93,6 +101,11 @@ class BinaryInfo:
+@@ -93,6 +101,11 @@
self.exec_stack = True
continue
@@ -51,7 +50,7 @@
if is_shlib:
r = BinaryInfo.exit_call_regex.search(l)
if r:
-@@ -103,6 +116,14 @@ class BinaryInfo:
+@@ -103,6 +116,14 @@
fork_called = True
continue
@@ -66,7 +65,7 @@
if self.non_pic:
self.non_pic = 'TEXTREL' in res[1]
-@@ -263,13 +284,26 @@ class BinariesCheck(AbstractCheck.Abstra
+@@ -263,13 +284,26 @@
continue
# stripped ?
@@ -94,7 +93,7 @@
if is_shlib:
has_lib = True
-@@ -319,6 +353,10 @@ class BinariesCheck(AbstractCheck.Abstra
+@@ -319,6 +353,10 @@
for ec in bin_info.exit_calls:
printWarning(pkg, 'shared-lib-calls-exit', fname, ec)
@@ -105,7 +104,7 @@
# rpath ?
if bin_info.rpath:
for p in bin_info.rpath:
-@@ -504,6 +542,14 @@ with the intended shared libraries only.
+@@ -504,6 +542,14 @@
'ldd-failed',
'''Executing ldd on this file failed, all checks could not be run.''',
@@ -120,7 +119,7 @@
'executable-stack',
'''The binary declares the stack as executable. Executable stack is usually an
error as it is only needed if the code contains GCC trampolines or similar
-@@ -516,6 +562,10 @@ don\'t define a proper .note.GNU-stack s
+@@ -516,6 +562,10 @@
make the stack executable. Usual suspects include use of a non-GNU linker or
an old GNU linker version.''',
@@ -131,7 +130,7 @@
'shared-lib-calls-exit',
'''This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
-@@ -533,6 +583,12 @@ form, make sure that rpmbuild does not s
+@@ -533,6 +583,12 @@
that use prelink, make sure that prelink does not strip it either, usually by
placing a blacklist file in /etc/prelink.conf.d. For more information, see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#49''',
++++++ sysv5-init-checks.diff ++++++
--- /var/tmp/diff_new_pack.yvc8kJ/_old 2011-04-26 16:53:39.000000000 +0200
+++ /var/tmp/diff_new_pack.yvc8kJ/_new 2011-04-26 16:53:39.000000000 +0200
@@ -1,8 +1,6 @@
-Index: InitScriptCheck.py
-===================================================================
---- InitScriptCheck.py.orig
+--- InitScriptCheck.py
+++ InitScriptCheck.py
-@@ -29,6 +29,10 @@ dot_in_name_regex = re.compile('.*\..*')
+@@ -29,6 +29,10 @@
use_deflevels = Config.getOption('UseDefaultRunlevels', True)
lsb_tags_regex = re.compile('^# ([\w-]+):\s*(.*?)\s*$')
lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$')
@@ -13,7 +11,7 @@
LSB_KEYWORDS = ('Provides', 'Required-Start', 'Required-Stop', 'Should-Start',
'Should-Stop', 'Default-Start', 'Default-Stop',
-@@ -47,6 +51,13 @@ class InitScriptCheck(AbstractCheck.Abst
+@@ -47,6 +51,13 @@
return
initscript_list = []
@@ -27,7 +25,7 @@
for fname, pkgfile in pkg.files().items():
if not fname.startswith('/etc/init.d/') and \
-@@ -60,18 +71,19 @@ class InitScriptCheck(AbstractCheck.Abst
+@@ -60,18 +71,19 @@
if dot_in_name_regex.match(basename):
printError(pkg, 'init-script-name-with-dot', fname)
@@ -44,7 +42,7 @@
- elif not chkconfig_regex.search(preun):
- printError(pkg, 'preun-without-chkconfig', fname)
+ printError(pkg, 'init-script-without-%stop_on_removal-preun', fname)
-+ elif not stop_on_removal_regex.search(postin):
++ elif not stop_on_removal_regex.search(preun):
+ printError(pkg, 'preun-without-%stop_on_removal-preun', fname)
+
+ if not postun:
@@ -57,7 +55,7 @@
status_found = False
reload_found = False
-@@ -202,10 +214,18 @@ a call to chkconfig.''',
+@@ -202,10 +214,18 @@
'''The package contains an init script but doesn't call chkconfig in its
%post script.''',
@@ -77,7 +75,7 @@
'preun-without-chkconfig',
'''The package contains an init script but doesn't call chkconfig in its
%preun script.''',
-@@ -264,6 +284,24 @@ of chkconfig don't work as expected with
+@@ -264,6 +284,24 @@
'init-script-non-executable',
'''The init script should have at least the execution bit set for root
in order for it to run at boot time.''',
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libreoffice-libs-gui for openSUSE:11.4
checked in at Tue Apr 26 15:42:24 CEST 2011.
--------
--- old-versions/11.4/all/libreoffice-libs-gui/libreoffice-libs-gui.changes 2011-02-16 16:49:16.000000000 +0100
+++ 11.4/libreoffice-libs-gui/libreoffice-libs-gui.changes 2011-04-12 16:16:26.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 12 16:13:45 CEST 2011 - pmladek(a)suse.cz
+
+- vcl-input-methods-in-qt4.diff: non-working input methods in KDE4
+ (bnc#665112, swampid#39716)
+
+-------------------------------------------------------------------
Package does not exist at destination yet. Using Fallback old-versions/11.4/all/libreoffice-libs-gui
Destination is old-versions/11.4/UPDATES/all/libreoffice-libs-gui
calling whatdependson for 11.4-i586
New:
----
vcl-input-methods-in-qt4.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-libs-gui.spec ++++++
--- /var/tmp/diff_new_pack.Y81gCd/_old 2011-04-26 15:42:02.000000000 +0200
+++ /var/tmp/diff_new_pack.Y81gCd/_new 2011-04-26 15:42:02.000000000 +0200
@@ -21,7 +21,7 @@
Name: libreoffice-libs-gui
Version: 3.3.1.2
-Release: 1.<RELEASE2>
+Release: 1.<RELEASE4>
%define piece libs-gui
%define ooo_build_version 3.3.1.2
%define ooo_piece_version 3.3.1.2
@@ -89,6 +89,8 @@
%define _use_internal_dependency_generator 0
%define __find_requires /bin/sh %_sourcedir/lo-libs-gui-req %name
Source101: lo-libs-gui-req
+# non-working input methods in KDE4 (bnc#665112)
+Patch900: vcl-input-methods-in-qt4.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64 ppc
@@ -139,6 +141,9 @@
%setup -q -b1 -n libreoffice-%piece-%ooo_piece_version
# move l10n sources to the main build dir
mv ../libreoffice-l10n-%ooo_piece_version/* . && rmdir ../libreoffice-l10n-%ooo_piece_version
+# extra fixes
+mkdir -p ooo-build/hotfixes
+cp %{P:900} ooo-build/hotfixes
%build
# setup env.
++++++ vcl-input-methods-in-qt4.diff ++++++
--- vcl/unx/kde4/KDESalDisplay.cxx.old 2010-11-11 16:22:48.000000000 +0100
+++ vcl/unx/kde4/KDESalDisplay.cxx 2011-02-22 19:37:17.000000000 +0100
@@ -41,6 +41,7 @@ SalKDEDisplay::SalKDEDisplay( Display* p
{
assert( selfptr == NULL );
selfptr = this;
+ xim_protocol = XInternAtom( pDisp_, "_XIM_PROTOCOL", False );
}
SalKDEDisplay::~SalKDEDisplay()
@@ -65,7 +66,32 @@ void SalKDEDisplay::Yield()
XEvent event;
XNextEvent( pDisp_, &event );
+ if( checkDirectInputEvent( &event ))
+ return;
qApp->x11ProcessEvent( &event );
}
+// HACK: When using Qt event loop, input methods (japanese, etc.) will get broken because
+// of XFilterEvent() getting called twice, once by Qt, once by LO (bnc#665112).
+// This function is therefore called before any XEvent is passed to Qt event handling
+// and if it is a keyboard event and no Qt widget is the active window (i.e. we are
+// processing events for some LO window), then feed the event only to LO directly and skip Qt
+// completely. Skipped events are KeyPress, KeyRelease and also _XIM_PROTOCOL client message
+// (seems to be necessary too, hopefully there are not other internal XIM messages that
+// would need this handling).
+bool SalKDEDisplay::checkDirectInputEvent( XEvent* ev )
+{
+ if( ev->xany.type == XLIB_KeyPress || ev->xany.type == KeyRelease
+ || ( ev->xany.type == ClientMessage && ev->xclient.message_type == xim_protocol ))
+ {
+ if( qApp->activeWindow() == NULL )
+ {
+ Dispatch(ev);
+ return true;
+ }
+ }
+ return false;
+}
+
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--- vcl/unx/kde4/KDESalDisplay.hxx.old 2010-11-11 16:22:48.000000000 +0100
+++ vcl/unx/kde4/KDESalDisplay.hxx 2011-02-22 19:37:17.000000000 +0100
@@ -41,7 +41,9 @@ class SalKDEDisplay : public SalX11Displ
inline void EventGuardRelease() { osl_releaseMutex( hEventGuard_ ); }
// virtual long Dispatch( XEvent *event );
virtual void Yield();
+ bool checkDirectInputEvent( XEvent* ev );
private:
+ Atom xim_protocol;
static SalKDEDisplay* selfptr;
};
--- vcl/unx/kde4/KDEXLib.cxx.old 2010-12-14 17:02:02.000000000 +0100
+++ vcl/unx/kde4/KDEXLib.cxx 2011-02-22 19:37:17.000000000 +0100
@@ -205,8 +205,19 @@ static GPollFunc old_gpoll = NULL;
static gint gpoll_wrapper( GPollFD*, guint, gint );
#endif
+static bool ( *old_qt_event_filter )( void* );
+static bool qt_event_filter( void* m )
+{
+ if( old_qt_event_filter != NULL && old_qt_event_filter( m ))
+ return true;
+ if( SalKDEDisplay::self() && SalKDEDisplay::self()->checkDirectInputEvent( static_cast< XEvent* >( m )))
+ return true;
+ return false;
+}
+
void KDEXLib::setupEventLoop()
{
+ old_qt_event_filter = QAbstractEventDispatcher::instance()->setEventFilter( qt_event_filter );
#ifdef GLIB_EVENT_LOOP_SUPPORT
// Glib is simple, it has g_main_context_set_poll_func() for wrapping the sleep call.
// The catch is that Qt has a bug that allows triggering timers even when they should
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dbus-1 for openSUSE:11.3
checked in at Tue Apr 26 14:32:57 CEST 2011.
--------
--- old-versions/11.3/all/dbus-1/dbus-1-x11.changes 2010-03-25 15:54:36.000000000 +0100
+++ 11.3/dbus-1/dbus-1-x11.changes 2011-03-30 17:48:41.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Mar 30 15:01:59 CEST 2011 - thoenig(a)suse.de
+
+- add patch dbus-stackoverflow.patch (bnc#659934)
+
+-------------------------------------------------------------------
dbus-1.changes: same change
Package does not exist at destination yet. Using Fallback old-versions/11.3/all/dbus-1
Destination is old-versions/11.3/UPDATES/all/dbus-1
calling whatdependson for 11.3-i586
New:
----
dbus-stackoverflow.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dbus-1-x11.spec ++++++
--- /var/tmp/diff_new_pack.Kh0OYD/_old 2011-04-26 14:32:38.000000000 +0200
+++ /var/tmp/diff_new_pack.Kh0OYD/_new 2011-04-26 14:32:38.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package dbus-1-x11 (Version 1.2.24)
+# spec file for package dbus-1-x11
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -29,7 +29,7 @@
BuildRequires: doxygen libexpat-devel libzio pkgconfig
BuildRequires: audit-devel
Version: 1.2.24
-Release: 1
+Release: 2.<RELEASE2>
AutoReqProv: on
# bug437293
%ifarch ppc64
@@ -42,6 +42,7 @@
Source3: dbus_at_console.ck
Source4: baselibs.conf
Patch0: dbus-log-deny.patch
+Patch1: dbus-stackoverflow.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
@@ -63,6 +64,7 @@
# COMMON2-BEGIN
%setup -n dbus-%{version} -q
%patch0 -p1
+%patch1 -p1
%build
autoreconf -fi
++++++ dbus-1.spec ++++++
--- /var/tmp/diff_new_pack.Kh0OYD/_old 2011-04-26 14:32:38.000000000 +0200
+++ /var/tmp/diff_new_pack.Kh0OYD/_new 2011-04-26 14:32:38.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package dbus-1 (Version 1.2.24)
+# spec file for package dbus-1
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,14 +20,14 @@
Name: dbus-1
Url: http://dbus.freedesktop.org/
-License: Dual GPLv2 or AFLv2.1
+License: Other uncritical OpenSource License
Group: System/Daemons
Summary: D-Bus Message Bus System
# COMMON1-BEGIN
BuildRequires: doxygen libexpat-devel libzio pkgconfig
BuildRequires: audit-devel
Version: 1.2.24
-Release: 1
+Release: 2.<RELEASE2>
AutoReqProv: on
# bug437293
%ifarch ppc64
@@ -40,6 +40,7 @@
Source3: dbus_at_console.ck
Source4: baselibs.conf
Patch0: dbus-log-deny.patch
+Patch1: dbus-stackoverflow.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
@@ -97,6 +98,7 @@
# COMMON2-BEGIN
%setup -n dbus-%{version} -q
%patch0 -p1
+%patch1 -p1
%build
autoreconf -fi
++++++ dbus-stackoverflow.patch ++++++
Index: dbus-1.2.24/dbus/dbus-marshal-validate.c
===================================================================
--- dbus-1.2.24.orig/dbus/dbus-marshal-validate.c
+++ dbus-1.2.24/dbus/dbus-marshal-validate.c
@@ -289,16 +289,30 @@ out:
return result;
}
+/* note: this function is also used to validate the header's values,
+ * since the header is a valid body with a particular signature.
+ */
static DBusValidity
validate_body_helper (DBusTypeReader *reader,
int byte_order,
dbus_bool_t walk_reader_to_end,
+ int total_depth,
const unsigned char *p,
const unsigned char *end,
const unsigned char **new_p)
{
int current_type;
+ /* The spec allows arrays and structs to each nest 32, for total
+ * nesting of 2*32. We want to impose the same limit on "dynamic"
+ * value nesting (not visible in the signature) which is introduced
+ * by DBUS_TYPE_VARIANT.
+ */
+ if (total_depth > (DBUS_MAXIMUM_TYPE_RECURSION_DEPTH * 2))
+ {
+ return DBUS_INVALID_NESTED_TOO_DEEPLY;
+ }
+
while ((current_type = _dbus_type_reader_get_current_type (reader)) != DBUS_TYPE_INVALID)
{
const unsigned char *a;
@@ -474,7 +488,9 @@ validate_body_helper (DBusTypeReader
{
while (p < array_end)
{
- validity = validate_body_helper (&sub, byte_order, FALSE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, FALSE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
}
@@ -591,7 +607,9 @@ validate_body_helper (DBusTypeReader
_dbus_assert (_dbus_type_reader_get_current_type (&sub) != DBUS_TYPE_INVALID);
- validity = validate_body_helper (&sub, byte_order, FALSE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, FALSE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
@@ -620,7 +638,9 @@ validate_body_helper (DBusTypeReader
_dbus_type_reader_recurse (reader, &sub);
- validity = validate_body_helper (&sub, byte_order, TRUE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, TRUE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
}
@@ -705,7 +725,7 @@ _dbus_validate_body_with_reason (const D
p = _dbus_string_get_const_data_len (value_str, value_pos, len);
end = p + len;
- validity = validate_body_helper (&reader, byte_order, TRUE, p, end, &p);
+ validity = validate_body_helper (&reader, byte_order, TRUE, 0, p, end, &p);
if (validity != DBUS_VALID)
return validity;
@@ -875,7 +895,7 @@ _dbus_validity_to_error_message (DBusVal
case DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS: return "Dict entry has too many fields";
case DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY: return "Dict entry not inside array";
case DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE: return "Dict key must be basic type";
-
+ case DBUS_INVALID_NESTED_TOO_DEEPLY: return "Variants cannot be used to create a hugely recursive tree of values";
default:
return "Invalid";
}
Index: dbus-1.2.24/dbus/dbus-marshal-validate.h
===================================================================
--- dbus-1.2.24.orig/dbus/dbus-marshal-validate.h
+++ dbus-1.2.24/dbus/dbus-marshal-validate.h
@@ -117,6 +117,8 @@ typedef enum
DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS = 53,
DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY = 54,
DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE = 55,
+ DBUS_INVALID_MISSING_UNIX_FDS = 56,
+ DBUS_INVALID_NESTED_TOO_DEEPLY = 57,
DBUS_VALIDITY_LAST
} DBusValidity;
Index: dbus-1.2.24/dbus/dbus-message-factory.c
===================================================================
--- dbus-1.2.24.orig/dbus/dbus-message-factory.c
+++ dbus-1.2.24/dbus/dbus-message-factory.c
@@ -333,6 +333,53 @@ simple_error (void)
return message;
}
+static DBusMessage*
+message_with_nesting_levels (int levels)
+{
+ DBusMessage *message;
+ dbus_int32_t v_INT32;
+ DBusMessageIter *parents;
+ DBusMessageIter *children;
+ int i;
+
+ /* If levels is higher it breaks sig_refcount in DBusMessageRealIter
+ * in dbus-message.c, this assert is just to help you know you need
+ * to fix that if you hit it
+ */
+ _dbus_assert (levels < 256);
+
+ parents = dbus_new(DBusMessageIter, levels + 1);
+ children = dbus_new(DBusMessageIter, levels + 1);
+
+ v_INT32 = 42;
+ message = simple_method_call ();
+
+ i = 0;
+ dbus_message_iter_init_append (message, &parents[i]);
+ while (i < levels)
+ {
+ dbus_message_iter_open_container (&parents[i], DBUS_TYPE_VARIANT,
+ i == (levels - 1) ?
+ DBUS_TYPE_INT32_AS_STRING :
+ DBUS_TYPE_VARIANT_AS_STRING,
+ &children[i]);
+ ++i;
+ parents[i] = children[i-1];
+ }
+ --i;
+ dbus_message_iter_append_basic (&children[i], DBUS_TYPE_INT32, &v_INT32);
+ while (i >= 0)
+ {
+ dbus_message_iter_close_container (&parents[i], &children[i]);
+ --i;
+ }
+
+ dbus_free(parents);
+ dbus_free(children);
+
+ return message;
+}
+
static dbus_bool_t
generate_special (DBusMessageDataIter *iter,
DBusString *data,
@@ -735,6 +782,24 @@ generate_special (DBusMessageDataIter
*expected_validity = DBUS_INVALID_DICT_ENTRY_HAS_NO_FIELDS;
}
+ else if (item_seq == 20)
+ {
+ /* 64 levels of nesting is OK */
+ message = message_with_nesting_levels(64);
+
+ generate_from_message (data, expected_validity, message);
+
+ *expected_validity = DBUS_VALID;
+ }
+ else if (item_seq == 21)
+ {
+ /* 65 levels of nesting is not OK */
+ message = message_with_nesting_levels(65);
+
+ generate_from_message (data, expected_validity, message);
+
+ *expected_validity = DBUS_INVALID_NESTED_TOO_DEEPLY;
+ }
else
{
return FALSE;
Index: dbus-1.2.24/doc/dbus-specification.xml
===================================================================
--- dbus-1.2.24.orig/doc/dbus-specification.xml
+++ dbus-1.2.24/doc/dbus-specification.xml
@@ -561,12 +561,14 @@
</row><row>
<entry><literal>VARIANT</literal></entry>
<entry>
- A variant type has a marshaled <literal>SIGNATURE</literal>
- followed by a marshaled value with the type
- given in the signature.
- Unlike a message signature, the variant signature
- can contain only a single complete type.
- So "i", "ai" or "(ii)" is OK, but "ii" is not.
+ A variant type has a marshaled
+ <literal>SIGNATURE</literal> followed by a marshaled
+ value with the type given in the signature. Unlike
+ a message signature, the variant signature can
+ contain only a single complete type. So "i", "ai"
+ or "(ii)" is OK, but "ii" is not. Use of variants may not
+ cause a total message depth to be larger than 64, including
+ other container types such as structures.
</entry>
<entry>
1 (alignment of the signature)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mailman for openSUSE:11.2
checked in at Tue Apr 26 14:32:18 CEST 2011.
--------
--- old-versions/11.2/UPDATES/all/mailman/mailman.changes 2009-11-30 18:53:51.000000000 +0100
+++ 11.2/mailman/mailman.changes 2011-04-22 14:24:37.000000000 +0200
@@ -1,0 +2,11 @@
+Tue Apr 19 15:58:22 UTC 2011 - jmatejek(a)novell.com
+
+- update to 2.1.14
+ * fixes many outstanding bugs
+ * fixes two potential XSS vulnerabilities, CVE-2010-3089 and CVE-2010-3090
+ (bnc#637295)
+- fixed another XSS, CVE-2011-0707 bnc#671745
+- patch cleanup
+- fixed problem with editing archives (bnc#621104)
+
+-------------------------------------------------------------------
calling whatdependson for 11.2-i586
Old:
----
mailman-2.1.12.tgz
mailman-2.1.3-editarch.patch
mailman-2.1.3-misc-PACKAGES.diff
mailman-2.1.3-python.dif
mailman-2.1.4-avoid-headerfolding-python21.diff
minmem
New:
----
mailman-2.1.14-CVE-2011-0707.patch
mailman-2.1.14-editarch.patch
mailman-2.1.14-misc-PACKAGES.diff
mailman-2.1.14-python.dif
mailman-2.1.14.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mailman.spec ++++++
--- /var/tmp/diff_new_pack.IrgQ3H/_old 2011-04-26 14:31:10.000000000 +0200
+++ /var/tmp/diff_new_pack.IrgQ3H/_new 2011-04-26 14:31:10.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package mailman (Version 2.1.12)
+# spec file for package mailman
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -30,8 +30,8 @@
PreReq: /usr/sbin/useradd /usr/sbin/groupadd /bin/echo /bin/cp /bin/rm /bin/mkdir /usr/bin/awk /usr/bin/touch /usr/bin/getent openssl
PreReq: permissions
Summary: The GNU Mailing List Manager
-Version: 2.1.12
-Release: 0.<RELEASE1>
+Version: 2.1.14
+Release: 9.<RELEASE2>
Source: %{name}-%{version}.tgz
Source1: README.SuSE
Source2: mailman-2.1-manpages.tgz
@@ -52,13 +52,12 @@
%else
Patch2: mailman-SuSE.patch
%endif
-Patch3: mailman-2.1.3-python.dif
-Patch5: mailman-2.1.3-editarch.patch
-Patch6: mailman-2.1.3-misc-PACKAGES.diff
+Patch3: mailman-2.1.14-python.dif
+Patch5: mailman-2.1.14-editarch.patch
+Patch6: mailman-2.1.14-misc-PACKAGES.diff
Patch7: mailman-2.1.2-list_lists.patch
Patch10: mailman-2.1.4-dirmode.patch
Patch11: mailman-2.1.4-notavaliduser.patch
-Patch15: mailman-2.1.4-avoid-headerfolding-python21.diff
Patch17: mailman-weak-password.diff
Patch18: mailman-2.1.5-no_extra_asian.dif
Patch19: mailman-python24.patch
@@ -66,6 +65,8 @@
%else
Patch20: mailman-SuSE2.patch
%endif
+Patch21: mailman-2.1.14-CVE-2011-0707.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define m_uid 72
%define m_gid 67
@@ -98,10 +99,10 @@
%patch7
%patch10 -p1
%patch11 -p1
-%patch15 -p1
%patch17 -p1
%patch18
%patch19
+%patch21
%if %DISTRIBUTABLE
%else
%patch20
++++++ mailman-2.1.14-CVE-2011-0707.patch ++++++
=== modified file 'Mailman/Cgi/confirm.py'
--- Mailman/Cgi/confirm.py 2010-03-29 20:48:11 +0000
+++ Mailman/Cgi/confirm.py 2011-02-12 02:24:47 +0000
@@ -471,7 +471,7 @@
if fullname is None:
fullname = _('<em>Not available</em>')
else:
- fullname = Utils.uncanonstr(fullname, lang)
+ fullname = Utils.websafe(Utils.uncanonstr(fullname, lang))
table.AddRow([_("""Your confirmation is required in order to complete the
unsubscription request from the mailing list <em>%(listname)s</em>. You
are currently subscribed with
@@ -573,7 +573,7 @@
if fullname is None:
fullname = _('<em>Not available</em>')
else:
- fullname = Utils.uncanonstr(fullname, lang)
+ fullname = Utils.websafe(Utils.uncanonstr(fullname, lang))
if globally:
globallys = _('globally')
else:
@@ -814,7 +814,7 @@
if username is None:
username = _('<em>not available</em>')
else:
- username = Utils.uncanonstr(username, lang)
+ username = Utils.websafe(Utils.uncanonstr(username, lang))
table.AddRow([_("""Your membership in the %(realname)s mailing list is
currently disabled due to excessive bounces. Your confirmation is
++++++ mailman-2.1.3-editarch.patch -> mailman-2.1.14-editarch.patch ++++++
--- old-versions/11.2/UPDATES/all/mailman/mailman-2.1.3-editarch.patch 2008-08-28 02:12:14.000000000 +0200
+++ 11.2/mailman/mailman-2.1.14-editarch.patch 2011-04-22 14:22:27.000000000 +0200
@@ -1,6 +1,8 @@
---- mailman-2.1.11/Mailman/Cgi/admin.py
-+++ mailman-2.1.11/Mailman/Cgi/admin.py
-@@ -414,6 +414,8 @@
+Index: mailman-2.1.14/Mailman/Cgi/admin.py
+===================================================================
+--- mailman-2.1.14.orig/Mailman/Cgi/admin.py
++++ mailman-2.1.14/Mailman/Cgi/admin.py
+@@ -416,6 +416,8 @@ def show_results(mlist, doc, category, s
_('Go to the general list information page')))
otherlinks.AddItem(Link(mlist.GetScriptURL('edithtml'),
_('Edit the public HTML pages and text files')))
@@ -9,8 +11,10 @@
otherlinks.AddItem(Link(mlist.GetBaseArchiveURL(),
_('Go to list archives')).Format() +
'<br> <br>')
---- mailman-2.1.11/Mailman/Cgi/editarch.py
-+++ mailman-2.1.11/Mailman/Cgi/editarch.py
+Index: mailman-2.1.14/Mailman/Cgi/editarch.py
+===================================================================
+--- /dev/null
++++ mailman-2.1.14/Mailman/Cgi/editarch.py
@@ -0,0 +1,509 @@
+# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
+# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
@@ -288,7 +292,7 @@
+ l = Link(mlist.GetScriptURL('editarch'), _('Back to main overview'))
+ doc.AddItem(l)
+
-+# Display list of months containing messages in the archive
++# Display list of months containing messages in the archive
+def DisplayMonthOverview(mlist, mbox, doc):
+ counter = 1
+ inc = 100
@@ -383,7 +387,7 @@
+ for l in m.headers:
+ warchfile.write(l)
+ warchfile.write('\n')
-+ warchfile.write(m.fp.read())
++ warchfile.write(m.fp.read())
+ counter += 1
+
+ if lock_file:
@@ -444,7 +448,7 @@
+# Make a human-readable Month YYYY from month and year numbers
+def MakeDateString(year, month):
+ try:
-+ date = time.strptime(str(year) + str(month), "%Y %m")
++ date = time.strptime(str(year) + " " + str(month), "%Y %m")
+ datestr = _(time.strftime("%B %Y", date))
+ return datestr
+ except ValueError:
@@ -521,9 +525,11 @@
+ for thing, repl in repls:
+ s = s.replace(thing, repl)
+ return Utils.uncanonstr(s, lang)
---- mailman-2.1.11/Mailman/Defaults.py.in
-+++ mailman-2.1.11/Mailman/Defaults.py.in
-@@ -1352,6 +1352,10 @@
+Index: mailman-2.1.14/Mailman/Defaults.py.in
+===================================================================
+--- mailman-2.1.14.orig/Mailman/Defaults.py.in
++++ mailman-2.1.14/Mailman/Defaults.py.in
+@@ -1390,6 +1390,10 @@ PIDFILE = os.path.join(DATA_DIR, 'master
SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
@@ -534,9 +540,11 @@
# Import a bunch of version numbers
from Version import *
---- mailman-2.1.11/configure
-+++ mailman-2.1.11/configure
-@@ -4254,6 +4254,7 @@
+Index: mailman-2.1.14/configure
+===================================================================
+--- mailman-2.1.14.orig/configure
++++ mailman-2.1.14/configure
+@@ -5029,6 +5029,7 @@ build/cron/cull_bad_shunt:cron/cull_bad_
build/cron/disabled:cron/disabled \
build/cron/gate_news:cron/gate_news \
build/cron/mailpasswds:cron/mailpasswds \
@@ -544,9 +552,11 @@
build/cron/nightly_gzip:cron/nightly_gzip \
build/cron/senddigests:cron/senddigests \
"
---- mailman-2.1.11/configure.in
-+++ mailman-2.1.11/configure.in
-@@ -597,6 +597,7 @@
+Index: mailman-2.1.14/configure.in
+===================================================================
+--- mailman-2.1.14.orig/configure.in
++++ mailman-2.1.14/configure.in
+@@ -688,6 +688,7 @@ cron/cull_bad_shunt \
cron/disabled \
cron/gate_news \
cron/mailpasswds \
@@ -554,9 +564,11 @@
cron/nightly_gzip \
cron/senddigests \
])
---- mailman-2.1.11/cron/Makefile.in
-+++ mailman-2.1.11/cron/Makefile.in
-@@ -42,7 +42,7 @@
+Index: mailman-2.1.14/cron/Makefile.in
+===================================================================
+--- mailman-2.1.14.orig/cron/Makefile.in
++++ mailman-2.1.14/cron/Makefile.in
+@@ -42,7 +42,7 @@ CRONDIR= $(prefix)/cron
SHELL= /bin/sh
PROGRAMS= checkdbs mailpasswds senddigests gate_news \
@@ -565,8 +577,10 @@
FILES= crontab.in
BUILDDIR= ../build/cron
---- mailman-2.1.11/cron/crontab.in.in
-+++ mailman-2.1.11/cron/crontab.in.in
+Index: mailman-2.1.14/cron/crontab.in.in
+===================================================================
+--- mailman-2.1.14.orig/cron/crontab.in.in
++++ mailman-2.1.14/cron/crontab.in.in
@@ -25,3 +25,7 @@
#
# At 4:30AM daily, cull old entries from the 'bad' and 'shunt' queues.
@@ -575,8 +589,10 @@
+# At 3:57am every night, reprocess archives that have been edited.
+57 3 * * * @PYTHON@ -S @prefix@/cron/nightly_archives
+
---- mailman-2.1.11/cron/nightly_archives
-+++ mailman-2.1.11/cron/nightly_archives
+Index: mailman-2.1.14/cron/nightly_archives
+===================================================================
+--- /dev/null
++++ mailman-2.1.14/cron/nightly_archives
@@ -0,0 +1,126 @@
+#! @PYTHON@
+#
@@ -704,9 +720,11 @@
+
+if __name__ == '__main__':
+ main()
---- mailman-2.1.11/src/Makefile.in
-+++ mailman-2.1.11/src/Makefile.in
-@@ -70,7 +70,7 @@
+Index: mailman-2.1.14/src/Makefile.in
+===================================================================
+--- mailman-2.1.14.orig/src/Makefile.in
++++ mailman-2.1.14/src/Makefile.in
+@@ -70,7 +70,7 @@ DIRSETGID= chmod g+s
# Fixed definitions
++++++ mailman-2.1.3-misc-PACKAGES.diff -> mailman-2.1.14-misc-PACKAGES.diff ++++++
--- old-versions/11.2/UPDATES/all/mailman/mailman-2.1.3-misc-PACKAGES.diff 2006-06-23 11:10:35.000000000 +0200
+++ 11.2/mailman/mailman-2.1.14-misc-PACKAGES.diff 2010-11-15 10:49:14.000000000 +0100
@@ -1,6 +1,6 @@
---- mailman-2.1.4/Makefile.in
-+++ mailman-2.1.4/Makefile.in
-@@ -125,6 +125,7 @@
+--- mailman-2.1.11.orig/Makefile.in
++++ mailman-2.1.11/Makefile.in
+@@ -125,6 +125,7 @@ doinstall: $(SUBDIRS)
(cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
done
$(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman",ddir="$(prefix)/Mailman")'
@@ -8,11 +8,11 @@
# Only run bin/update if we aren't installing in DESTDIR, as this
# means there are probably no lists to deal with, and it wouldn't
---- mailman-2.1.4/misc/Makefile.in
-+++ mailman-2.1.4/misc/Makefile.in
+--- mailman-2.1.14/misc/Makefile.in 2010-09-20 20:18:27.000000000 +0200
++++ mailman-2.1.14/misc/Makefile.in 2010-11-15 10:34:50.013318554 +0100
@@ -57,7 +57,7 @@
- JACODECSPKG= JapaneseCodecs-1.4.10
- KOCODECSPKG= KoreanCodecs-2.0.5
+ JACODECSPKG= @JACODECSPKG@
+ KOCODECSPKG= @KOCODECSPKG@
-PACKAGES= $(EMAILPKG) $(JACODECSPKG) $(KOCODECSPKG)
+PACKAGES= $(EMAILPKG)
++++++ mailman-2.1.3-python.dif -> mailman-2.1.14-python.dif ++++++
--- old-versions/11.2/UPDATES/all/mailman/mailman-2.1.3-python.dif 2006-06-23 11:10:34.000000000 +0200
+++ 11.2/mailman/mailman-2.1.14-python.dif 2010-11-15 10:49:14.000000000 +0100
@@ -1,6 +1,8 @@
---- Mailman/Defaults.py.in
+Index: Mailman/Defaults.py.in
+===================================================================
+--- Mailman/Defaults.py.in.orig
+++ Mailman/Defaults.py.in
-@@ -83,8 +83,8 @@
+@@ -83,8 +83,8 @@ MAILMAN_URL = 'http://www.gnu.org/softwa
# add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
#
# because otherwise the default mappings won't be correct.
@@ -11,7 +13,7 @@
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
# DEFAULT_HOST_NAME has been replaced with DEFAULT_EMAIL_HOST, however some
-@@ -1136,8 +1136,8 @@
+@@ -1237,8 +1237,8 @@ if EXEC_PREFIX == '${prefix}':
CGIEXT = '@CGIEXT@'
# Group id that group-owns the Mailman installation
@@ -22,9 +24,11 @@
# Enumeration for Mailman cgi widget types
Toggle = 1
---- Makefile.in
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig
+++ Makefile.in
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ doinstall: $(SUBDIRS)
do \
(cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
done
@@ -33,35 +37,18 @@
# Only run bin/update if we aren't installing in DESTDIR, as this
# means there are probably no lists to deal with, and it wouldn't
---- bin/mailmanctl
-+++ bin/mailmanctl
-@@ -415,6 +415,11 @@
- # won't be opening any terminal devices, don't do the ultra-paranoid
- # suggestion of doing a second fork after the setsid() call.
- os.setsid()
-+ devnull = os.open('/dev/null', 0)
-+ os.dup2(devnull, 0)
-+ os.dup2(devnull, 1)
-+ os.dup2(devnull, 2)
-+
- # Instead of cd'ing to root, cd to the Mailman installation home
- os.chdir(mm_cfg.PREFIX)
- # Clear our file mode creation umask
--- misc/Makefile.in
+++ misc/Makefile.in
-@@ -46,10 +46,11 @@
+@@ -47,9 +47,9 @@
SHELL= /bin/sh
PYTHONLIBDIR= $(prefix)/pythonlib
-SETUPINSTOPTS= --install-lib $(DESTDIR)$(PYTHONLIBDIR) \
- --install-purelib $(DESTDIR)$(PYTHONLIBDIR) \
- --install-data $(DESTDIR)$(PYTHONLIBDIR)
--SETUPCMD= setup.py --quiet install $(SETUPINSTOPTS)
-+SETUPINSTOPTS= --root=$(DESTDIR) \
-+ --install-lib $(PYTHONLIBDIR) \
++SETUPINSTOPTS= --root=$(DESTDIR) --install-lib $(PYTHONLIBDIR) \
+ --install-purelib $(PYTHONLIBDIR) \
+ --install-data $(PYTHONLIBDIR)
-+SETUPCMD= setup.py install $(SETUPINSTOPTS)
+ SETUPCMD= setup.py --quiet install $(SETUPINSTOPTS)
PKGDIR= $(srcdir)
- EMAILPKG= email-2.5.4
++++++ mailman-2.1.12.tgz -> mailman-2.1.14.tgz ++++++
old-versions/11.2/UPDATES/all/mailman/mailman-2.1.12.tgz 11.2/mailman/mailman-2.1.14.tgz differ: char 5, line 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dbus-1 for openSUSE:11.2
checked in at Tue Apr 26 14:29:37 CEST 2011.
--------
--- old-versions/11.2/all/dbus-1/dbus-1-x11.changes 2009-09-02 16:49:12.000000000 +0200
+++ 11.2/dbus-1/dbus-1-x11.changes 2011-03-30 17:48:14.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Mar 30 15:00:38 CEST 2011 - thoenig(a)suse.de
+
+- add patch dbus-stackoverflow.patch (bnc#659934)
+
+-------------------------------------------------------------------
dbus-1.changes: same change
Package does not exist at destination yet. Using Fallback old-versions/11.2/all/dbus-1
Destination is old-versions/11.2/UPDATES/all/dbus-1
calling whatdependson for 11.2-i586
New:
----
dbus-stackoverflow.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dbus-1-x11.spec ++++++
--- /var/tmp/diff_new_pack.yQT48J/_old 2011-04-26 14:29:20.000000000 +0200
+++ /var/tmp/diff_new_pack.yQT48J/_new 2011-04-26 14:29:20.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package dbus-1-x11 (Version 1.2.16)
+# spec file for package dbus-1-x11
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -29,7 +29,7 @@
BuildRequires: doxygen libexpat-devel libzio pkgconfig
BuildRequires: audit-devel
Version: 1.2.16
-Release: 4
+Release: 5.<RELEASE3>
AutoReqProv: on
# bug437293
%ifarch ppc64
@@ -41,6 +41,7 @@
Source2: dbus-1.desktop
Source3: dbus_at_console.ck
Patch0: dbus-log-deny.patch
+Patch1: dbus-stackoverflow.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
@@ -62,6 +63,7 @@
# COMMON2-BEGIN
%setup -n dbus-%{version} -q
%patch0 -p1
+%patch1 -p1
%build
autoreconf -fi
++++++ dbus-1.spec ++++++
--- /var/tmp/diff_new_pack.yQT48J/_old 2011-04-26 14:29:20.000000000 +0200
+++ /var/tmp/diff_new_pack.yQT48J/_new 2011-04-26 14:29:20.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package dbus-1 (Version 1.2.16)
+# spec file for package dbus-1
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,14 +20,14 @@
Name: dbus-1
Url: http://dbus.freedesktop.org/
-License: Dual GPLv2 or AFLv2.1
+License: Other uncritical OpenSource License
Group: System/Daemons
Summary: D-Bus Message Bus System
# COMMON1-BEGIN
BuildRequires: doxygen libexpat-devel libzio pkgconfig
BuildRequires: audit-devel
Version: 1.2.16
-Release: 4
+Release: 5.<RELEASE4>
AutoReqProv: on
# bug437293
%ifarch ppc64
@@ -39,6 +39,7 @@
Source2: dbus-1.desktop
Source3: dbus_at_console.ck
Patch0: dbus-log-deny.patch
+Patch1: dbus-stackoverflow.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
@@ -93,6 +94,7 @@
# COMMON2-BEGIN
%setup -n dbus-%{version} -q
%patch0 -p1
+%patch1 -p1
%build
autoreconf -fi
++++++ dbus-stackoverflow.patch ++++++
Index: dbus-1.2.16/dbus/dbus-marshal-validate.c
===================================================================
--- dbus-1.2.16.orig/dbus/dbus-marshal-validate.c
+++ dbus-1.2.16/dbus/dbus-marshal-validate.c
@@ -289,16 +289,30 @@ out:
return result;
}
+/* note: this function is also used to validate the header's values,
+ * since the header is a valid body with a particular signature.
+ */
static DBusValidity
validate_body_helper (DBusTypeReader *reader,
int byte_order,
dbus_bool_t walk_reader_to_end,
+ int total_depth,
const unsigned char *p,
const unsigned char *end,
const unsigned char **new_p)
{
int current_type;
+ /* The spec allows arrays and structs to each nest 32, for total
+ * nesting of 2*32. We want to impose the same limit on "dynamic"
+ * value nesting (not visible in the signature) which is introduced
+ * by DBUS_TYPE_VARIANT.
+ */
+ if (total_depth > (DBUS_MAXIMUM_TYPE_RECURSION_DEPTH * 2))
+ {
+ return DBUS_INVALID_NESTED_TOO_DEEPLY;
+ }
+
while ((current_type = _dbus_type_reader_get_current_type (reader)) != DBUS_TYPE_INVALID)
{
const unsigned char *a;
@@ -474,7 +488,9 @@ validate_body_helper (DBusTypeReader
{
while (p < array_end)
{
- validity = validate_body_helper (&sub, byte_order, FALSE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, FALSE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
}
@@ -591,7 +607,9 @@ validate_body_helper (DBusTypeReader
_dbus_assert (_dbus_type_reader_get_current_type (&sub) != DBUS_TYPE_INVALID);
- validity = validate_body_helper (&sub, byte_order, FALSE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, FALSE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
@@ -620,7 +638,9 @@ validate_body_helper (DBusTypeReader
_dbus_type_reader_recurse (reader, &sub);
- validity = validate_body_helper (&sub, byte_order, TRUE, p, end, &p);
+ validity = validate_body_helper (&sub, byte_order, TRUE,
+ total_depth + 1,
+ p, end, &p);
if (validity != DBUS_VALID)
return validity;
}
@@ -705,7 +725,7 @@ _dbus_validate_body_with_reason (const D
p = _dbus_string_get_const_data_len (value_str, value_pos, len);
end = p + len;
- validity = validate_body_helper (&reader, byte_order, TRUE, p, end, &p);
+ validity = validate_body_helper (&reader, byte_order, TRUE, 0, p, end, &p);
if (validity != DBUS_VALID)
return validity;
@@ -875,7 +895,7 @@ _dbus_validity_to_error_message (DBusVal
case DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS: return "Dict entry has too many fields";
case DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY: return "Dict entry not inside array";
case DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE: return "Dict key must be basic type";
-
+ case DBUS_INVALID_NESTED_TOO_DEEPLY: return "Variants cannot be used to create a hugely recursive tree of values";
default:
return "Invalid";
}
Index: dbus-1.2.16/dbus/dbus-marshal-validate.h
===================================================================
--- dbus-1.2.16.orig/dbus/dbus-marshal-validate.h
+++ dbus-1.2.16/dbus/dbus-marshal-validate.h
@@ -117,6 +117,8 @@ typedef enum
DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS = 53,
DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY = 54,
DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE = 55,
+ DBUS_INVALID_MISSING_UNIX_FDS = 56,
+ DBUS_INVALID_NESTED_TOO_DEEPLY = 57,
DBUS_VALIDITY_LAST
} DBusValidity;
Index: dbus-1.2.16/dbus/dbus-message-factory.c
===================================================================
--- dbus-1.2.16.orig/dbus/dbus-message-factory.c
+++ dbus-1.2.16/dbus/dbus-message-factory.c
@@ -333,6 +333,53 @@ simple_error (void)
return message;
}
+static DBusMessage*
+message_with_nesting_levels (int levels)
+{
+ DBusMessage *message;
+ dbus_int32_t v_INT32;
+ DBusMessageIter *parents;
+ DBusMessageIter *children;
+ int i;
+
+ /* If levels is higher it breaks sig_refcount in DBusMessageRealIter
+ * in dbus-message.c, this assert is just to help you know you need
+ * to fix that if you hit it
+ */
+ _dbus_assert (levels < 256);
+
+ parents = dbus_new(DBusMessageIter, levels + 1);
+ children = dbus_new(DBusMessageIter, levels + 1);
+
+ v_INT32 = 42;
+ message = simple_method_call ();
+
+ i = 0;
+ dbus_message_iter_init_append (message, &parents[i]);
+ while (i < levels)
+ {
+ dbus_message_iter_open_container (&parents[i], DBUS_TYPE_VARIANT,
+ i == (levels - 1) ?
+ DBUS_TYPE_INT32_AS_STRING :
+ DBUS_TYPE_VARIANT_AS_STRING,
+ &children[i]);
+ ++i;
+ parents[i] = children[i-1];
+ }
+ --i;
+ dbus_message_iter_append_basic (&children[i], DBUS_TYPE_INT32, &v_INT32);
+ while (i >= 0)
+ {
+ dbus_message_iter_close_container (&parents[i], &children[i]);
+ --i;
+ }
+
+ dbus_free(parents);
+ dbus_free(children);
+
+ return message;
+}
+
static dbus_bool_t
generate_special (DBusMessageDataIter *iter,
DBusString *data,
@@ -735,6 +782,24 @@ generate_special (DBusMessageDataIter
*expected_validity = DBUS_INVALID_DICT_ENTRY_HAS_NO_FIELDS;
}
+ else if (item_seq == 20)
+ {
+ /* 64 levels of nesting is OK */
+ message = message_with_nesting_levels(64);
+
+ generate_from_message (data, expected_validity, message);
+
+ *expected_validity = DBUS_VALID;
+ }
+ else if (item_seq == 21)
+ {
+ /* 65 levels of nesting is not OK */
+ message = message_with_nesting_levels(65);
+
+ generate_from_message (data, expected_validity, message);
+
+ *expected_validity = DBUS_INVALID_NESTED_TOO_DEEPLY;
+ }
else
{
return FALSE;
Index: dbus-1.2.16/doc/dbus-specification.xml
===================================================================
--- dbus-1.2.16.orig/doc/dbus-specification.xml
+++ dbus-1.2.16/doc/dbus-specification.xml
@@ -561,12 +561,14 @@
</row><row>
<entry><literal>VARIANT</literal></entry>
<entry>
- A variant type has a marshaled <literal>SIGNATURE</literal>
- followed by a marshaled value with the type
- given in the signature.
- Unlike a message signature, the variant signature
- can contain only a single complete type.
- So "i", "ai" or "(ii)" is OK, but "ii" is not.
+ A variant type has a marshaled
+ <literal>SIGNATURE</literal> followed by a marshaled
+ value with the type given in the signature. Unlike
+ a message signature, the variant signature can
+ contain only a single complete type. So "i", "ai"
+ or "(ii)" is OK, but "ii" is not. Use of variants may not
+ cause a total message depth to be larger than 64, including
+ other container types such as structures.
</entry>
<entry>
1 (alignment of the signature)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package iftop for openSUSE:Factory
checked in at Tue Apr 26 09:01:50 CEST 2011.
--------
--- iftop/iftop.changes 2009-11-29 13:56:55.000000000 +0100
+++ /mounts/work_src_done/STABLE/iftop/iftop.changes 2011-04-11 21:43:26.000000000 +0200
@@ -1,0 +2,15 @@
+Mon Apr 11 19:25:30 UTC 2011 - lars(a)linux-schulserver.de
+
+- update to 1.0pre1:
+ + Support for IPv6
+ + Various typos fixed
+ + documentation fixed
+ + Fixed behaviour of "-b" option
+ + Support for PFLOG Interfaces
+ + Fix for performance issue with address hashing
+ + Fix for failing link address detection for GNU/kfreebsd
+ + Improved behaviour of sort in sent/recv only mode
+ + Fixed segfault / hang when supplying multiple -i options
+- removed upstreamed patches
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
iftop-0.17.tar.bz2
iftop-bar-bytes.patch
iftop-bar-display.patch
New:
----
counter_hash.h
iftop-1.0-includes_fix.patch
iftop-1.0pre1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iftop.spec ++++++
--- /var/tmp/diff_new_pack.VAdsP9/_old 2011-04-26 09:00:04.000000000 +0200
+++ /var/tmp/diff_new_pack.VAdsP9/_new 2011-04-26 09:00:04.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package iftop (Version 0.17)
+# spec file for package iftop
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -20,16 +20,18 @@
Name: iftop
Summary: Real-Time Interface Bandwidth Usage
-Version: 0.17
-Release: 128
+Version: 0.99.1
+Release: 1
+%define real_version 1.0pre1
License: GPLv2+
Group: Productivity/Networking/Diagnostic
Url: http://www.ex-parrot.com/~pdw/iftop/
-BuildRequires: libpcap-devel ncurses-devel
-Source0: %name-%version.tar.bz2
-Patch0: %name-manpage.patch
-Patch1: %name-bar-bytes.patch
-Patch2: %name-bar-display.patch
+BuildRequires: libpcap-devel
+BuildRequires: ncurses-devel
+Source0: %name-%real_version.tar.bz2
+Source1: counter_hash.h
+Patch0: iftop-1.0-includes_fix.patch
+Patch1: %name-manpage.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -46,15 +48,16 @@
Chris Lightfoot <chris(a)ex-parrot.com>
%prep
-%setup -q
-%patch0
-%patch1 -p1
-%patch2 -p1
+%setup -q -n %name-%real_version
+%patch0 -p0
+%patch1 -p0
+install -m644 %{SOURCE1} .
%build
-export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
+export CFLAGS="%{optflags} -fno-strict-aliasing" \
+export CPPFLAGS="-I%{_includedir}/pcap" \
%configure
-make %{?jobs:-j%jobs}
+make %{?jobs:-j%jobs} iftop
%install
%makeinstall
@@ -65,7 +68,8 @@
%files
%defattr(-,root,root)
%doc README ChangeLog COPYING TODO INSTALL
-%attr(755,root,root) %{_sbindir}/iftop
+%{_sbindir}/iftop
+%{_sbindir}/iftop-dump
%{_mandir}/man8/*
%changelog
++++++ counter_hash.h ++++++
/*
* addr_hash.h:
*
*/
#ifndef __ADDR_HASH_H_ /* include guard */
#define __ADDR_HASH_H_
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "hash.h"
typedef struct {
unsigned long long sent;
unsigned long long recv;
} counter_type;
typedef counter_type key_type; /* index into hash table */
hash_type* counter_hash_create(void);
#endif /* __ADDR_HASH_H_ */
++++++ iftop-1.0-includes_fix.patch ++++++
Index: iftop.c
===================================================================
--- iftop.c.orig
+++ iftop.c
@@ -19,7 +19,7 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
-#include <net/bpf.h>
+#include <pcap/bpf.h>
#include <pthread.h>
#include <curses.h>
++++++ iftop-manpage.patch ++++++
--- /var/tmp/diff_new_pack.VAdsP9/_old 2011-04-26 09:00:04.000000000 +0200
+++ /var/tmp/diff_new_pack.VAdsP9/_new 2011-04-26 09:00:04.000000000 +0200
@@ -1,38 +1,8 @@
-# Fixes a few typos. Thanks to A.Costa for the most of them.
-
Index: iftop.8
===================================================================
--- iftop.8.orig
+++ iftop.8
-@@ -25,7 +25,7 @@ By default, \fBiftop\fP will look up the
- finds in packets. This can cause substantial traffic of itself, and may result
- in a confusing display. You may wish to suppress display of DNS traffic by
- using filter code such as \fBnot port domain\fP, or switch it off entirely,
--by using the \fB-n\fP option or by pressing \fBR\fP when the program is running.
-+by using the \fB-n\fP option or by pressing \fBn\fP when the program is running.
-
- By default, \fBiftop\fP counts all IP packets that pass through the filter, and
- the direction of the packet is determined according to the direction the packet
-@@ -43,7 +43,7 @@ Ignore ethernet broadcast packets.
- Count web traffic only, unless it is being directed through a local web cache.
- .TP
- \fBicmp\fP
--How much bandwith are users wasting trying to figure out why the network is
-+How much bandwidth are users wasting trying to figure out why the network is
- slow?
-
- .SH OPTIONS
-@@ -85,6 +85,9 @@ is determined relative to the network bo
- You may specify \fImask\fP as a dotted quad, such as /255.255.255.0, or as a
- single number specifying the number of bits set in the netmask, such as /24.
- .TP
-+\fB-m\fP \fIlimit\fP
-+Sets the upper limit for the bandwidth scale in bits/sec.
-+.TP
- \fB-c\fP \fIconfig file\fP
- Specifies an alternate config file. If not specified, iftop will use
- \fB~/.iftoprc\fP if it exists. See below for a description of config files
-@@ -104,7 +107,6 @@ instance,
+@@ -113,7 +113,6 @@ instance,
foo.example.com => bar.example.com 1Kb 500b 100b
<= 2Mb 2Mb 2Mb
@@ -40,21 +10,3 @@
.fi
shows, on the first line, traffic from \fBfoo.example.com\fP to
\fBbar.example.com\fP; in the preceding 2 seconds, this averaged 1Kbit/s,
-@@ -229,13 +231,15 @@ Sets which column is used to sort the di
- Controls the appearance of each item in the display.
- .TP
- \fBshow-totals:\fP \fI(yes|no)\fP
--Shows cummulative total for each item.
-+Shows cumulative total for each item.
- .TP
- \fBlog-scale:\fP \fI(yes|no)\fP
- Use a logarithmic scale for bar graphs.
- .TP
- \fBmax-bandwidth:\fP \fIbw\fP
--Fixes the maximum for the bar graph scale to \fIbw\fP, e.g. "10M"
-+Fixes the maximum for the bar graph scale to \fIbw\fP, e.g. "10M". Note that the
-+value has to always be in bits, regardsless if the option to display in bytes has
-+been choosen.
- .TP
- \fBnet-filter:\fP \fInet/mask\fP
- Defines an IP network boundary for determining packet direction.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package avrdude for openSUSE:Factory
checked in at Fri Apr 22 22:55:42 CEST 2011.
--------
--- avrdude/avrdude.changes 2010-05-15 17:49:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/avrdude/avrdude.changes 2011-03-07 20:19:49.000000000 +0100
@@ -1,0 +2,21 @@
+Mon Mar 7 19:14:33 UTC 2011 - jw(a)novell.com
+
+- bnc#676024, support for attiny4313 added according to
+ http://savannah.nongnu.org/patch/?7393
+
+-------------------------------------------------------------------
+Mon Mar 7 18:58:41 UTC 2011 - jw(a)novell.com
+
+- Resurrected the changelog.
+ /usr/lib/osc/source_validators/helpers/check_dates_in_changes
+ misinterpretes timestamps 2010-01-01 within changelog entries as
+ new changelog entries.
+
+-------------------------------------------------------------------
+Mon Sep 6 13:58:00 UTC 2010 - max(a)novell.com
+
+- Use ATTRS instead of SYSFS in udev rules.
+- Add old USBasp VID/PID to udev rules.
+- Dropped most of the .changes file to make osc happy.
+
+-------------------------------------------------------------------
@@ -26,8 +46,0 @@
- 2010-01-19 Joerg Wunsch <j.gnu(a)uriah.heep.sax.de>
- * configure.ac: Released version 5.10.
- 2010-01-19 Joerg Wunsch <j.gnu(a)uriah.heep.sax.de>
- bug #28677: Cygwin's GCC no longer supports -mno-cygwin option
- * configure.ac: For Win32 environments, add a check whether the
- compiler understands the -mno-cygwin option. If not, don't use
- it but suggest using a different compiler.
- 2010-01-18 David Hoerl <dhoerl(a)mac.com>
@@ -37,2 +49,0 @@
- 2010-01-15 Joerg Wunsch <j.gnu(a)uriah.heep.sax.de>
- Submitted by Michael biebl:
@@ -41 +51,0 @@
- 2010-01-15 Joerg Wunsch <j.gnu(a)uriah.heep.sax.de>
@@ -45,5 +54,0 @@
- 2010-01-15 Joerg Wunsch <j.gnu(a)uriah.heep.sax.de>
- Submitted by Aurelien Jarno:
- * configure.ac: Fix build for GNU/kFreeBSD.
- * ppi.c: (Dito.)
- * par.c: (Dito.)
calling whatdependson for head-i586
New:
----
tn4313.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ avrdude.spec ++++++
--- /var/tmp/diff_new_pack.Q6uA95/_old 2011-04-22 22:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Q6uA95/_new 2011-04-22 22:54:44.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package avrdude (Version 5.10)
+# spec file for package avrdude
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 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
@@ -21,7 +21,7 @@
Name: avrdude
BuildRequires: bison flex libusb-devel readline-devel
Version: 5.10
-Release: 1
+Release: 5
Url: http://savannah.nongnu.org/projects/avrdude
Group: Development/Tools/Other
License: GPLv2+
@@ -34,6 +34,7 @@
Patch0: avrdude-use-serial-device-for-serbb.patch
Patch1: avrdude-5.5.usbtiny.64bit.patch
Patch2: avrdude_butterfly_mk.patch
+Patch3: tn4313.diff
AutoReqProv: on
Provides: avr-programmer
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -52,6 +53,7 @@
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
touch lexer.l
%build
++++++ avrdude-udev.rules ++++++
--- /var/tmp/diff_new_pack.Q6uA95/_old 2011-04-22 22:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.Q6uA95/_new 2011-04-22 22:54:44.000000000 +0200
@@ -1,13 +1,14 @@
KERNEL=="parport*", MODE="0666"
-SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="0666" # AVRISP mkII
-SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="0666" # AVR-Dragon
-SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="0666" # JTAG ICE mkII
-SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2106", MODE="0666" # STK600
-SYSFS{idVendor}=="16c0", SYSFS{idProduct}=="05dc", MODE="0666" # USBASP von www.fischl.de
-SYSFS{idVendor}=="03eb", SYSFS{idProduct}=="2ffa", MODE="0666" # AT90USB
-SYSFS{idVendor}=="10c4", SYSFS{idProduct}=="ea60", MODE="0666" # AVR910
-SYSFS{idVendor}=="1781", SYSFS{idProduct}=="0c9f", MODE="0666" # USBtiny
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", MODE="0666" # AVRISP mkII
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="0666" # AVR-Dragon
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2103", MODE="0666" # JTAG ICE mkII
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2106", MODE="0666" # STK600
+ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", MODE="0666" # USBASP (www.fischl.de)
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="c7b4", MODE="0666" # USBASP old VID/PID
+ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", MODE="0666" # AT90USB
+ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE="0666" # AVR910
+ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", MODE="0666" # USBtiny
-SYSFS{idVendor}=="067b", SYSFS{idProduct}=="2303", MODE="0666" # PL2303 USB to serial adapter
+ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE="0666" # PL2303 USB to serial adapter
++++++ tn4313.diff ++++++
--- avrdude-5.10/avrdude.conf.in.orig 2011-03-07 20:10:23.000000000 +0100
+++ avrdude-5.10/avrdude.conf.in 2011-03-07 20:12:32.231780000 +0100
@@ -8931,6 +8931,193 @@ part
;
#------------------------------------------------------------
+# ATtiny4313
+#------------------------------------------------------------
+
+part
+ id = "t4313";
+ desc = "ATtiny4313";
+ has_debugwire = yes;
+ flash_instr = 0xB2, 0x0F, 0x1F;
+ eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
+ 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
+ 0x99, 0xE1, 0xBB, 0xAC;
+ stk500_devcode = 0x23;
+## Use the ATtiny26 devcode:
+ avr910_devcode = 0x5e;
+ signature = 0x1e 0x92 0x0d;
+ pagel = 0xD4;
+ bs2 = 0xD6;
+ reset = io;
+ chip_erase_delay = 9000;
+
+ pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
+ "x x x x x x x x x x x x x x x x";
+
+ chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
+ "x x x x x x x x x x x x x x x x";
+
+ timeout = 200;
+ stabdelay = 100;
+ cmdexedelay = 25;
+ synchloops = 32;
+ bytedelay = 0;
+ pollindex = 3;
+ pollvalue = 0x53;
+ predelay = 1;
+ postdelay = 1;
+ pollmethod = 1;
+
+ pp_controlstack =
+ 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
+ 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
+ 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
+ 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
+ hventerstabdelay = 100;
+ progmodedelay = 0;
+ latchcycles = 5;
+ togglevtg = 1;
+ poweroffdelay = 15;
+ resetdelayms = 1;
+ resetdelayus = 0;
+ hvleavestabdelay = 15;
+ chiperasepulsewidth = 0;
+ chiperasepolltimeout = 10;
+ programfusepulsewidth = 0;
+ programfusepolltimeout = 5;
+ programlockpulsewidth = 0;
+ programlockpolltimeout = 5;
+
+ memory "eeprom"
+ size = 256;
+ paged = no;
+ page_size = 4;
+ min_write_delay = 4000;
+ max_write_delay = 4500;
+ readback_p1 = 0xff;
+ readback_p2 = 0xff;
+ read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
+ "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
+
+ write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
+ "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
+
+ loadpage_lo = " 1 1 0 0 0 0 0 1",
+ " 0 0 0 0 0 0 0 0",
+ " 0 0 0 0 0 0 a1 a0",
+ " i i i i i i i i";
+
+ writepage = " 1 1 0 0 0 0 1 0",
+ " 0 0 x x x x x x",
+ " a7 a6 a5 a4 a3 a2 0 0",
+ " x x x x x x x x";
+
+ mode = 0x41;
+ delay = 6;
+ blocksize = 4;
+ readsize = 256;
+ ;
+ memory "flash"
+ paged = yes;
+ size = 4096;
+ page_size = 64;
+ num_pages = 64;
+ min_write_delay = 4500;
+ max_write_delay = 4500;
+ readback_p1 = 0xff;
+ readback_p2 = 0xff;
+ read_lo = " 0 0 1 0 0 0 0 0",
+ " 0 0 0 0 0 a10 a9 a8",
+ " a7 a6 a5 a4 a3 a2 a1 a0",
+ " o o o o o o o o";
+
+ read_hi = " 0 0 1 0 1 0 0 0",
+ " 0 0 0 0 0 a10 a9 a8",
+ " a7 a6 a5 a4 a3 a2 a1 a0",
+ " o o o o o o o o";
+
+# The information in the data sheet of April/2004 is wrong, this works:
+ loadpage_lo = " 0 1 0 0 0 0 0 0",
+ " 0 0 0 x x x x x",
+ " x x x x a3 a2 a1 a0",
+ " i i i i i i i i";
+
+# The information in the data sheet of April/2004 is wrong, this works:
+ loadpage_hi = " 0 1 0 0 1 0 0 0",
+ " 0 0 0 x x x x x",
+ " x x x x a3 a2 a1 a0",
+ " i i i i i i i i";
+
+# The information in the data sheet of April/2004 is wrong, this works:
+ writepage = " 0 1 0 0 1 1 0 0",
+ " 0 0 0 0 0 a10 a9 a8",
+ " a7 a6 a5 a4 x x x x",
+ " x x x x x x x x";
+
+ mode = 0x41;
+ delay = 6;
+ blocksize = 32;
+ readsize = 256;
+ ;
+# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D.
+ memory "signature"
+ size = 3;
+ read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
+ "x x x x x x a1 a0 o o o o o o o o";
+ ;
+ memory "lock"
+ size = 1;
+ write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
+ "x x x x x x x x 1 1 i i i i i i";
+ read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
+ "x x x x x x x x x x o o o o o o";
+ min_write_delay = 9000;
+ max_write_delay = 9000;
+ ;
+
+ memory "lfuse"
+ size = 1;
+ write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
+ "x x x x x x x x i i i i i i i i";
+
+ read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
+ "x x x x x x x x o o o o o o o o";
+ min_write_delay = 9000;
+ max_write_delay = 9000;
+ ;
+
+ memory "hfuse"
+ size = 1;
+ write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
+ "x x x x x x x x i i i i i i i i";
+
+ read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
+ "x x x x x x x x o o o o o o o o";
+ min_write_delay = 9000;
+ max_write_delay = 9000;
+ ;
+
+ memory "efuse"
+ size = 1;
+ write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
+ "x x x x x x x x x x x x x x x i";
+
+ read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
+ "x x x x x x x x o o o o o o o o";
+ min_write_delay = 9000;
+ max_write_delay = 9000;
+ ;
+# The Tiny4313 has calibration data for both 4 MHz and 8 MHz.
+# The information in the data sheet of April/2004 is wrong, this works:
+
+ memory "calibration"
+ size = 2;
+ read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
+ "0 0 0 0 0 0 0 a0 o o o o o o o o";
+ ;
+ ;
+
+#------------------------------------------------------------
# AT90PWM2
#------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0