diff --git a/.gitignore b/.gitignore index 11a9c29..dc0e873 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /dbus-1.6.4.tar.gz /dbus-1.6.8.tar.gz /dbus-1.6.12.tar.gz +/dbus-1.6.28.tar.gz diff --git a/dbus-iface-function-parameters.patch b/dbus-iface-function-parameters.patch deleted file mode 100644 index 39dbda5..0000000 --- a/dbus-iface-function-parameters.patch +++ /dev/null @@ -1,292 +0,0 @@ -From 0928169cf80bf767f7246ecaa52cc01e198bb15a Mon Sep 17 00:00:00 2001 -From: Ivan Romanov -Date: Thu, 22 Aug 2013 19:11:23 +0100 -Subject: [PATCH] Use iface instead of interface in function parameters - -Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66493 -Reviewed-by: Simon McVittie ---- - dbus/dbus-message.c | 62 ++++++++++++++++++++++++++--------------------------- - dbus/dbus-message.h | 12 +++++------ - 2 files changed, 37 insertions(+), 37 deletions(-) - -diff --git a/dbus/dbus-message.c b/dbus/dbus-message.c -index 5d3517c..079251e 100644 ---- a/dbus/dbus-message.c -+++ b/dbus/dbus-message.c -@@ -1259,7 +1259,7 @@ dbus_message_new (int message_type) - * - * @param destination name that the message should be sent to or #NULL - * @param path object path the message should be sent to -- * @param interface interface to invoke method on, or #NULL -+ * @param iface interface to invoke method on, or #NULL - * @param method method to invoke - * - * @returns a new DBusMessage, free with dbus_message_unref() -@@ -1267,7 +1267,7 @@ dbus_message_new (int message_type) - DBusMessage* - dbus_message_new_method_call (const char *destination, - const char *path, -- const char *interface, -+ const char *iface, - const char *method) - { - DBusMessage *message; -@@ -1277,8 +1277,8 @@ dbus_message_new_method_call (const char *destination, - _dbus_return_val_if_fail (destination == NULL || - _dbus_check_is_valid_bus_name (destination), NULL); - _dbus_return_val_if_fail (_dbus_check_is_valid_path (path), NULL); -- _dbus_return_val_if_fail (interface == NULL || -- _dbus_check_is_valid_interface (interface), NULL); -+ _dbus_return_val_if_fail (iface == NULL || -+ _dbus_check_is_valid_interface (iface), NULL); - _dbus_return_val_if_fail (_dbus_check_is_valid_member (method), NULL); - - message = dbus_message_new_empty_header (); -@@ -1288,7 +1288,7 @@ dbus_message_new_method_call (const char *destination, - if (!_dbus_header_create (&message->header, - DBUS_COMPILER_BYTE_ORDER, - DBUS_MESSAGE_TYPE_METHOD_CALL, -- destination, path, interface, method, NULL)) -+ destination, path, iface, method, NULL)) - { - dbus_message_unref (message); - return NULL; -@@ -1351,22 +1351,22 @@ dbus_message_new_method_return (DBusMessage *method_call) - * specification defines the syntax of these fields). - * - * @param path the path to the object emitting the signal -- * @param interface the interface the signal is emitted from -+ * @param iface the interface the signal is emitted from - * @param name name of the signal - * @returns a new DBusMessage, free with dbus_message_unref() - */ - DBusMessage* - dbus_message_new_signal (const char *path, -- const char *interface, -+ const char *iface, - const char *name) - { - DBusMessage *message; - - _dbus_return_val_if_fail (path != NULL, NULL); -- _dbus_return_val_if_fail (interface != NULL, NULL); -+ _dbus_return_val_if_fail (iface != NULL, NULL); - _dbus_return_val_if_fail (name != NULL, NULL); - _dbus_return_val_if_fail (_dbus_check_is_valid_path (path), NULL); -- _dbus_return_val_if_fail (_dbus_check_is_valid_interface (interface), NULL); -+ _dbus_return_val_if_fail (_dbus_check_is_valid_interface (iface), NULL); - _dbus_return_val_if_fail (_dbus_check_is_valid_member (name), NULL); - - message = dbus_message_new_empty_header (); -@@ -1376,7 +1376,7 @@ dbus_message_new_signal (const char *path, - if (!_dbus_header_create (&message->header, - DBUS_COMPILER_BYTE_ORDER, - DBUS_MESSAGE_TYPE_SIGNAL, -- NULL, path, interface, name, NULL)) -+ NULL, path, iface, name, NULL)) - { - dbus_message_unref (message); - return NULL; -@@ -3126,23 +3126,23 @@ dbus_message_get_path_decomposed (DBusMessage *message, - * in the D-Bus specification. - * - * @param message the message -- * @param interface the interface or #NULL to unset -+ * @param iface the interface or #NULL to unset - * @returns #FALSE if not enough memory - */ - dbus_bool_t - dbus_message_set_interface (DBusMessage *message, -- const char *interface) -+ const char *iface) - { - _dbus_return_val_if_fail (message != NULL, FALSE); - _dbus_return_val_if_fail (!message->locked, FALSE); -- _dbus_return_val_if_fail (interface == NULL || -- _dbus_check_is_valid_interface (interface), -+ _dbus_return_val_if_fail (iface == NULL || -+ _dbus_check_is_valid_interface (iface), - FALSE); - - return set_or_delete_string_field (message, - DBUS_HEADER_FIELD_INTERFACE, - DBUS_TYPE_STRING, -- interface); -+ iface); - } - - /** -@@ -3177,28 +3177,28 @@ dbus_message_get_interface (DBusMessage *message) - * Checks if the message has an interface - * - * @param message the message -- * @param interface the interface name -+ * @param iface the interface name - * @returns #TRUE if the interface field in the header matches - */ - dbus_bool_t - dbus_message_has_interface (DBusMessage *message, -- const char *interface) -+ const char *iface) - { - const char *msg_interface; - msg_interface = dbus_message_get_interface (message); - - if (msg_interface == NULL) - { -- if (interface == NULL) -+ if (iface == NULL) - return TRUE; - else - return FALSE; - } - -- if (interface == NULL) -+ if (iface == NULL) - return FALSE; - -- if (strcmp (msg_interface, interface) == 0) -+ if (strcmp (msg_interface, iface) == 0) - return TRUE; - - return FALSE; -@@ -3490,13 +3490,13 @@ dbus_message_get_signature (DBusMessage *message) - static dbus_bool_t - _dbus_message_has_type_interface_member (DBusMessage *message, - int type, -- const char *interface, -+ const char *iface, - const char *member) - { - const char *n; - - _dbus_assert (message != NULL); -- _dbus_assert (interface != NULL); -+ _dbus_assert (iface != NULL); - _dbus_assert (member != NULL); - - if (dbus_message_get_type (message) != type) -@@ -3512,7 +3512,7 @@ _dbus_message_has_type_interface_member (DBusMessage *message, - { - n = dbus_message_get_interface (message); - -- if (n == NULL || strcmp (n, interface) == 0) -+ if (n == NULL || strcmp (n, iface) == 0) - return TRUE; - } - -@@ -3528,18 +3528,18 @@ _dbus_message_has_type_interface_member (DBusMessage *message, - * protocol allows method callers to leave out the interface name. - * - * @param message the message -- * @param interface the name to check (must not be #NULL) -+ * @param iface the name to check (must not be #NULL) - * @param method the name to check (must not be #NULL) - * - * @returns #TRUE if the message is the specified method call - */ - dbus_bool_t - dbus_message_is_method_call (DBusMessage *message, -- const char *interface, -+ const char *iface, - const char *method) - { - _dbus_return_val_if_fail (message != NULL, FALSE); -- _dbus_return_val_if_fail (interface != NULL, FALSE); -+ _dbus_return_val_if_fail (iface != NULL, FALSE); - _dbus_return_val_if_fail (method != NULL, FALSE); - /* don't check that interface/method are valid since it would be - * expensive, and not catch many common errors -@@ -3547,7 +3547,7 @@ dbus_message_is_method_call (DBusMessage *message, - - return _dbus_message_has_type_interface_member (message, - DBUS_MESSAGE_TYPE_METHOD_CALL, -- interface, method); -+ iface, method); - } - - /** -@@ -3556,18 +3556,18 @@ dbus_message_is_method_call (DBusMessage *message, - * has a different interface or member field, returns #FALSE. - * - * @param message the message -- * @param interface the name to check (must not be #NULL) -+ * @param iface the name to check (must not be #NULL) - * @param signal_name the name to check (must not be #NULL) - * - * @returns #TRUE if the message is the specified signal - */ - dbus_bool_t - dbus_message_is_signal (DBusMessage *message, -- const char *interface, -+ const char *iface, - const char *signal_name) - { - _dbus_return_val_if_fail (message != NULL, FALSE); -- _dbus_return_val_if_fail (interface != NULL, FALSE); -+ _dbus_return_val_if_fail (iface != NULL, FALSE); - _dbus_return_val_if_fail (signal_name != NULL, FALSE); - /* don't check that interface/name are valid since it would be - * expensive, and not catch many common errors -@@ -3575,7 +3575,7 @@ dbus_message_is_signal (DBusMessage *message, - - return _dbus_message_has_type_interface_member (message, - DBUS_MESSAGE_TYPE_SIGNAL, -- interface, signal_name); -+ iface, signal_name); - } - - /** -diff --git a/dbus/dbus-message.h b/dbus/dbus-message.h -index 5500492..4fd44da 100644 ---- a/dbus/dbus-message.h -+++ b/dbus/dbus-message.h -@@ -71,13 +71,13 @@ DBusMessage* dbus_message_new (int message_type); - DBUS_EXPORT - DBusMessage* dbus_message_new_method_call (const char *bus_name, - const char *path, -- const char *interface, -+ const char *iface, - const char *method); - DBUS_EXPORT - DBusMessage* dbus_message_new_method_return (DBusMessage *method_call); - DBUS_EXPORT - DBusMessage* dbus_message_new_signal (const char *path, -- const char *interface, -+ const char *iface, - const char *name); - DBUS_EXPORT - DBusMessage* dbus_message_new_error (DBusMessage *reply_to, -@@ -108,12 +108,12 @@ dbus_bool_t dbus_message_has_path (DBusMessage *message, - const char *object_path); - DBUS_EXPORT - dbus_bool_t dbus_message_set_interface (DBusMessage *message, -- const char *interface); -+ const char *iface); - DBUS_EXPORT - const char* dbus_message_get_interface (DBusMessage *message); - DBUS_EXPORT - dbus_bool_t dbus_message_has_interface (DBusMessage *message, -- const char *interface); -+ const char *iface); - DBUS_EXPORT - dbus_bool_t dbus_message_set_member (DBusMessage *message, - const char *member); -@@ -146,11 +146,11 @@ DBUS_EXPORT - dbus_bool_t dbus_message_get_no_reply (DBusMessage *message); - DBUS_EXPORT - dbus_bool_t dbus_message_is_method_call (DBusMessage *message, -- const char *interface, -+ const char *iface, - const char *method); - DBUS_EXPORT - dbus_bool_t dbus_message_is_signal (DBusMessage *message, -- const char *interface, -+ const char *iface, - const char *signal_name); - DBUS_EXPORT - dbus_bool_t dbus_message_is_error (DBusMessage *message, --- -1.8.3.1 - diff --git a/dbus-improve-clock_getres-detection.patch b/dbus-improve-clock_getres-detection.patch new file mode 100644 index 0000000..38ddde0 --- /dev/null +++ b/dbus-improve-clock_getres-detection.patch @@ -0,0 +1,21 @@ +--- configure.ac.orig 2014-12-23 13:43:18.629108562 +0100 ++++ configure.ac 2014-12-23 13:55:53.482370730 +0100 +@@ -964,7 +964,17 @@ + LIBS="$LIBS $THREAD_LIBS" + AC_CHECK_FUNC(pthread_condattr_setclock,have_pthread_condattr_setclock=true,have_pthread_condattr_setclock=false) + if test x$have_pthread_condattr_setclock = xtrue; then +- AC_SEARCH_LIBS([clock_getres],[rt],[THREAD_LIBS="$THREAD_LIBS -lrt"]) ++ AC_CHECK_FUNCS(clock_getres, [], [ ++ AC_CHECK_LIB(rt, clock_getres, [ ++ AC_DEFINE(HAVE_CLOCK_GETRES, 1) ++ THREAD_LIBS="$THREAD_LIBS -lrt" ++ ], [ ++ AC_CHECK_LIB(pthread, clock_getres, [ ++ AC_DEFINE(HAVE_CLOCK_GETRES, 1) ++ THREAD_LIBS="$THREAD_LIBS -lpthread" ++ ]) ++ ]) ++ ]) + AC_MSG_CHECKING([for CLOCK_MONOTONIC]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include + #include diff --git a/mingw-dbus.spec b/mingw-dbus.spec index f467fa5..0752e11 100644 --- a/mingw-dbus.spec +++ b/mingw-dbus.spec @@ -1,8 +1,8 @@ %?mingw_package_header Name: mingw-dbus -Version: 1.6.12 -Release: 2%{?dist} +Version: 1.6.28 +Release: 1%{?dist} Summary: MinGW Windows port of D-Bus License: GPLv2+ or AFL @@ -10,7 +10,8 @@ Group: Development/Libraries URL: http://www.freedesktop.org/wiki/Software/dbus Source0: http://dbus.freedesktop.org/releases/dbus/dbus-%{version}.tar.gz -Patch0: dbus-iface-function-parameters.patch +# The configure script isn't able to properly winpthreads yet +Patch0: dbus-improve-clock_getres-detection.patch BuildArch: noarch @@ -84,7 +85,9 @@ Static version of MinGW Windows port of DBus library %prep %setup -q -n dbus-%{version} -%patch0 -p1 +%patch0 -p0 +autoreconf -i --force + %build %mingw_configure --with-xml=libxml @@ -146,6 +149,14 @@ rm -r $RPM_BUILD_ROOT%{mingw64_sysconfdir}/rc.d/init.d/messagebus %changelog +* Tue Dec 22 2014 Erik van Pienbroek - 1.6.28-1 +- Update to 1.6.28 +- Fixes CVE-2014-7824 (RHBZ #1173557) +- Fixes CVE-2014-3638 CVE-2014-3639 CVE-2014-3636 + CVE-2014-3637 and CVE-2014-3635 (RHBZ #1142582) +- Fixes CVE-2014-3477 (RHBZ #1117395) +- Fixes CVE-2014-3533 CVE-2014-3532 (RHBZ #1115637) + * Sat Jun 07 2014 Fedora Release Engineering - 1.6.12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 260dc42..84c47b4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a70edc50524f258eaf5c9a9994ed8748 dbus-1.6.12.tar.gz +80935a10a64620f1d0bded39735430a6 dbus-1.6.28.tar.gz