--- dbus-glib-0.84.orig/debian/compat +++ dbus-glib-0.84/debian/compat @@ -0,0 +1 @@ +7 --- dbus-glib-0.84.orig/debian/libdbus-glib-1-2.symbols +++ dbus-glib-0.84/debian/libdbus-glib-1-2.symbols @@ -0,0 +1,90 @@ +libdbus-glib-1.so.2 libdbus-glib-1-2 #MINVER# + dbus_connection_get_g_connection@Base 0.78 + dbus_connection_get_g_type@Base 0.78 + dbus_connection_setup_with_g_main@Base 0.78 + dbus_g_bus_get@Base 0.78 + dbus_g_bus_get_private@Base 0.84 + dbus_g_connection_flush@Base 0.78 + dbus_g_connection_get_connection@Base 0.78 + dbus_g_connection_get_g_type@Base 0.78 + dbus_g_connection_lookup_g_object@Base 0.78 + dbus_g_connection_open@Base 0.78 + dbus_g_connection_ref@Base 0.78 + dbus_g_connection_register_g_object@Base 0.78 + dbus_g_connection_unref@Base 0.78 + dbus_g_connection_unregister_g_object@Base 0.82 + dbus_g_error_domain_register@Base 0.78 + dbus_g_error_get_name@Base 0.78 + dbus_g_error_has_name@Base 0.78 + dbus_g_error_quark@Base 0.78 + dbus_g_message_get_g_type@Base 0.78 + dbus_g_message_get_message@Base 0.78 + dbus_g_message_ref@Base 0.78 + dbus_g_message_unref@Base 0.78 + dbus_g_method_get_reply@Base 0.78 + dbus_g_method_get_sender@Base 0.78 + dbus_g_method_return@Base 0.78 + dbus_g_method_return_error@Base 0.78 + dbus_g_method_send_reply@Base 0.78 + dbus_g_object_path_get_g_type@Base 0.78 + dbus_g_object_register_marshaller@Base 0.78 + dbus_g_object_register_marshaller_array@Base 0.78 + dbus_g_object_type_install_info@Base 0.78 + dbus_g_proxy_add_signal@Base 0.78 + dbus_g_proxy_begin_call@Base 0.78 + dbus_g_proxy_begin_call_with_timeout@Base 0.78 + dbus_g_proxy_call@Base 0.78 + dbus_g_proxy_call_no_reply@Base 0.78 + dbus_g_proxy_call_with_timeout@Base 0.78 + dbus_g_proxy_cancel_call@Base 0.78 + dbus_g_proxy_connect_signal@Base 0.78 + dbus_g_proxy_disconnect_signal@Base 0.78 + dbus_g_proxy_end_call@Base 0.78 + dbus_g_proxy_get_bus_name@Base 0.78 + dbus_g_proxy_get_interface@Base 0.78 + dbus_g_proxy_get_path@Base 0.78 + dbus_g_proxy_get_type@Base 0.78 + dbus_g_proxy_new_for_name@Base 0.78 + dbus_g_proxy_new_for_name_owner@Base 0.78 + dbus_g_proxy_new_for_peer@Base 0.78 + dbus_g_proxy_new_from_proxy@Base 0.78 + dbus_g_proxy_send@Base 0.78 + dbus_g_proxy_set_default_timeout@Base 0.78 + dbus_g_proxy_set_interface@Base 0.78 + dbus_g_signature_get_g_type@Base 0.80 + dbus_g_thread_init@Base 0.78 + dbus_g_type_collection_get_fixed@Base 0.78 + dbus_g_type_collection_peek_vtable@Base 0.78 + dbus_g_type_collection_value_iterate@Base 0.78 + dbus_g_type_get_collection@Base 0.78 + dbus_g_type_get_collection_specialization@Base 0.78 + dbus_g_type_get_map@Base 0.78 + dbus_g_type_get_map_key_specialization@Base 0.78 + dbus_g_type_get_map_value_specialization@Base 0.78 + dbus_g_type_get_struct@Base 0.78 + dbus_g_type_get_struct_member_type@Base 0.78 + dbus_g_type_get_struct_size@Base 0.78 + dbus_g_type_get_structv@Base 0.78 + dbus_g_type_is_collection@Base 0.78 + dbus_g_type_is_map@Base 0.78 + dbus_g_type_is_struct@Base 0.78 + dbus_g_type_map_peek_vtable@Base 0.78 + dbus_g_type_map_value_iterate@Base 0.78 + dbus_g_type_register_collection@Base 0.78 + dbus_g_type_register_map@Base 0.78 + dbus_g_type_register_struct@Base 0.78 + dbus_g_type_specialized_collection_append@Base 0.78 + dbus_g_type_specialized_collection_end_append@Base 0.78 + dbus_g_type_specialized_construct@Base 0.78 + dbus_g_type_specialized_init@Base 0.78 + dbus_g_type_specialized_init_append@Base 0.78 + dbus_g_type_specialized_map_append@Base 0.78 + dbus_g_type_struct_get@Base 0.78 + dbus_g_type_struct_get_member@Base 0.78 + dbus_g_type_struct_peek_vtable@Base 0.78 + dbus_g_type_struct_set@Base 0.78 + dbus_g_type_struct_set_member@Base 0.78 + dbus_glib_internal_do_not_use_run_tests@Base 0.78 + dbus_message_get_g_type@Base 0.78 + dbus_server_setup_with_g_main@Base 0.78 + dbus_set_g_error@Base 0.78 --- dbus-glib-0.84.orig/debian/libdbus-glib-1-2.install +++ dbus-glib-0.84/debian/libdbus-glib-1-2.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/libdbus-glib*.so.* --- dbus-glib-0.84.orig/debian/dbus-bus-introspect.xml +++ dbus-glib-0.84/debian/dbus-bus-introspect.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --- dbus-glib-0.84.orig/debian/libdbus-glib-1-2-dbg.links +++ dbus-glib-0.84/debian/libdbus-glib-1-2-dbg.links @@ -0,0 +1 @@ +usr/share/doc/libdbus-glib-1-2 usr/share/doc/libdbus-glib-1-2-dbg --- dbus-glib-0.84.orig/debian/watch +++ dbus-glib-0.84/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-(.*)\.tar\.gz --- dbus-glib-0.84.orig/debian/libdbus-glib-1-doc.links +++ dbus-glib-0.84/debian/libdbus-glib-1-doc.links @@ -0,0 +1 @@ +usr/share/gtk-doc/html/dbus-glib usr/share/doc/libdbus-glib-1-doc/dbus-glib --- dbus-glib-0.84.orig/debian/control +++ dbus-glib-0.84/debian/control @@ -0,0 +1,84 @@ +Source: dbus-glib +Section: devel +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Utopia Maintenance Team +Uploaders: Sjoerd Simons , + Sebastian Dröge , + Simon McVittie , + Michael Biebl +Build-Depends: cdbs (>= 0.4.43), + debhelper (>= 7), + libglib2.0-dev (>= 2.10), + libdbus-1-dev (>= 1.1), + libexpat-dev, + gtk-doc-tools (>= 1.4) +Standards-Version: 3.8.4 +Vcs-Svn: svn://svn.debian.org/pkg-utopia/packages/unstable/dbus-glib/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-utopia/packages/unstable/dbus-glib/ +Homepage: http://www.freedesktop.org/wiki/Software/DBusBindings + +Package: libdbus-glib-1-dev +Section: libdevel +Architecture: any +Depends: libdbus-glib-1-2 (= ${binary:Version}), + libdbus-1-dev (>= 1.1), + libglib2.0-dev, + ${shlibs:Depends}, + ${misc:Depends} +Conflicts: libdbus-glib-dev, dbus-glib-1-dev, dbus-1-utils (<< 0.50-2) +Replaces: libdbus-glib0-dev, dbus-glib-1-dev, libdbus-1-dev (<< 0.90) +Description: simple interprocess messaging system (GLib interface) + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + This package provides a GLib-style interface to D-Bus. + . + See the dbus description for more information about D-Bus in general. + +Package: libdbus-glib-1-2 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: simple interprocess messaging system (GLib-based shared library) + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + This package provides the GLib-based shared library for applications using the + GLib interface to D-Bus. + . + See the dbus description for more information about D-Bus in general. + +Package: libdbus-glib-1-doc +Section: doc +Architecture: all +Depends: lynx | www-browser, + ${misc:Depends} +Suggests: devhelp +Description: simple interprocess messaging system (GLib library documentation) + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + This package provides the HTML documentation for dbus-glib + . + See the dbus description for more information about D-Bus in general. + +Package: libdbus-glib-1-2-dbg +Section: debug +Priority: extra +Architecture: any +Depends: libdbus-glib-1-2 (= ${binary:Version}), + ${misc:Depends} +Description: simple interprocess messaging system (GLib library debug symbols) + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + This package provides support for debugging programs that use the GLib-based + shared library. + . + See the dbus description for more information about D-Bus in general. --- dbus-glib-0.84.orig/debian/libdbus-glib-1-doc.install +++ dbus-glib-0.84/debian/libdbus-glib-1-doc.install @@ -0,0 +1 @@ +debian/tmp/usr/share/gtk-doc/html/dbus-glib --- dbus-glib-0.84.orig/debian/changelog +++ dbus-glib-0.84/debian/changelog @@ -0,0 +1,1085 @@ +dbus-glib (0.84-1ubuntu0.2) lucid-security; urgency=low + + * SECURITY UPDATE: fix to honor access flag on specified properties + - debian/patches/01-CVE-2010-1172.patch: don't allow Set/write calls for + readonly properties, or properties not listed in the XML + - CVE-2010-1172 + - LP: #616517 + + -- Jamie Strandboge Wed, 25 May 2011 15:46:32 -0500 + +dbus-glib (0.84-1) unstable; urgency=low + + * New upstream release. + - dbus-gvalue: set an error when demarshal_basic doesn't recognize type. + (Closes: #541632) + * debian/patches/10_support_duplicate_object_registrations.patch + - Remove, merged upstream. + * debian/libdbus-glib-1-2.symbols + - Add new dbus_g_bus_get_private symbol. + * debian/rules + - Bumps shlibs to >= 0.84. + * debian/control + - Bump Standards-Version to 3.8.4. No further changes. + - Bump Build-Depends on debhelper to (>= 7). + * debian/compat + - Bump debhelper compat level to 7. + + -- Michael Biebl Mon, 01 Feb 2010 16:57:09 +0100 + +dbus-glib (0.82-2) unstable; urgency=low + + * debian/patches/10_support_duplicate_object_registrations.patch + - Pull patch from upstream git which allows duplicate object registrations + and fixes a regression introduced in 0.82. + (Closes: #540421, #541712, #542513, #544174, #546044) + * Bump Standards-Version to 3.8.3. No further changes. + + -- Michael Biebl Tue, 29 Sep 2009 23:49:03 +0200 + +dbus-glib (0.82-1) unstable; urgency=low + + * New upstream release. + * debian/patches/01-20884-proxy-manager-replace-name-owner.patch + - Dropped, merged upstream. + * debian/libdbus-glib-1-2.symbols + - Update symbols file for new API additions. + * debian/rules + - Bump shlibs to >= 0.82. + * debian/control + - Bump Standards-Version to 3.8.2. No further changes. + + -- Michael Biebl Wed, 29 Jul 2009 06:02:28 +0200 + +dbus-glib (0.80-4) unstable; urgency=low + + [ Michael Biebl ] + * debian/control + - Changes section of libdbus-glib-1-2-dbg. + - Bump Standards-Version to 3.8.1. No further changes. + + [ Simon McVittie ] + * Apply my patch from upstream git to fix invalid memory accesses in + DBusGProxyManager after the first of a process's names is removed + (freedesktop.org #20884) + + -- Simon McVittie Mon, 27 Apr 2009 12:00:42 +0100 + +dbus-glib (0.80-3) unstable; urgency=low + + * Merge from experimental into unstable + * Really bump *all* symbol versions to at least 0.78 + * Add missing symbol from 0.80, and bump the old shlibs version too + * Bump build dependencies to D-Bus 1.1 and GLib 2.10 to match configure.ac + * Wrap Uploaders, Build-Depends and Depends + + -- Simon McVittie Mon, 16 Feb 2009 12:28:47 +0000 + +dbus-glib (0.80-2) experimental; urgency=low + + * debian/libdbus-glib-1-2.symbols + - Updated. Bump all symbol versions to 0.78. Some internal behaviour has + changed which newer programs can rely upon, but which is not directly + related to any symbol. + + -- Sjoerd Simons Tue, 03 Feb 2009 17:38:49 +0000 + +dbus-glib (0.80-1) experimental; urgency=low + + * New upstream release. + * debian/control + - Bump Standards-Version to 3.8.0. No further changes. + - Remove Dm-Upload-Allowed, no longer required. + * debian/copyright + - Update AFL license to version 2.1. + - Make it clear that dbus-glib is released under version 2 of the GPL and + refer to the versioned GPL-2 file in /usr/share/common-licenses. + + -- Michael Biebl Tue, 03 Feb 2009 12:09:49 +0100 + +dbus-glib (0.78-1) experimental; urgency=low + + * New upstream release + - Update symbols file and shlibs for new ABI + * Add ${misc:Depends} to all binary packages as recommended by lintian + + -- Simon McVittie Fri, 05 Dec 2008 17:00:55 +0000 + +dbus-glib (0.76-1) unstable; urgency=low + + * New upstream release. + * debian/patches/01-476080-freeze-error-abi.patch + - Removed, merged upstream. + * debian/patches/02-ignore-namespaced-nodes-and-attributes.patch + - Removed, merged upstream. + * Add symbols file for libdbus-glib-1-2. + * debian/rules + - Bump shlibs to >= 0.76 due to API additions. + + -- Michael Biebl Fri, 06 Jun 2008 00:05:01 +0200 + +dbus-glib (0.74-4) unstable; urgency=low + + * debian/control + - Add myself to Uploaders. + - Add Vcs-* fields. + - Add Homepage field. + - Add Suggests: devhelp to libdbus-glib-1-doc which allows to easily + browse and search through the dbus-glib API documentation. + * debian/patches/02-ignore-namespaced-nodes-and-attributes.patch + - Ignore namespaced extensions to introspection XML. (Closes: #478265) + Patch pulled from upstream git. + * debian/watch + - Add watch file to track new upstream releases. + + -- Michael Biebl Tue, 29 Apr 2008 00:57:43 +0200 + +dbus-glib (0.74-3) unstable; urgency=low + + * Use my debian.org address in Uploaders + * Add a -dbg package (Closes: #446240) + * Symlink the gtk-doc for the library into /usr/share/doc/libdbus-glib-1-doc + as well as installing it into /usr/share/gtk-doc + * Standards-Version: 3.7.3 (no changes) + + -- Simon McVittie Mon, 28 Apr 2008 11:55:09 +0100 + +dbus-glib (0.74-2) unstable; urgency=low + + * Fix error-enum ABI to match that of the current packages in lenny, Ubuntu + gutsy/feisty/hardy and Fedora 8, rather than picking up an arbitrarily + incompatible ABI depending on the installed libdbus (Closes: #476080) + (debian/patches/01-476080-freeze-error-abi.patch) + * Add myself to Uploaders and set Dm-Upload-Allowed: yes for future versions + + -- Simon McVittie Mon, 14 Apr 2008 13:25:29 +0100 + +dbus-glib (0.74-1) unstable; urgency=low + + * New upstream release. + * debian/rules: + + Update shlibs to >= 0.74 because of new API. + * debian/control: + + Use ${binary:Version} to make lintian happy. + + -- Sebastian Dröge Fri, 06 Jul 2007 14:00:42 +0200 + +dbus-glib (0.73-2) unstable; urgency=low + + * Upload to unstable + * Merge experimental branch + * debian/patches/00_unref_crash.patch: + removed. Fixed upstream. + + -- Sjoerd Simons Mon, 09 Apr 2007 22:16:26 +0200 + +dbus-glib (0.73-1) experimental; urgency=low + + * New upstream release: + + debian/patches/01_proxy-crash.patch, + debian/patches/02_gthreads-deadlock.patch: + - Dropped, merged upstream + * debian/rules: + + Bump shlibs to reflect API additions + + Use the new configure flag to specify the location of the dbus daemon + introspection data instead of the previous workaround. + + -- Sebastian Dröge Tue, 13 Feb 2007 19:03:19 +0100 + +dbus-glib (0.72-4) experimental; urgency=low + + * debian/patches/02_gthreads-deadlock.patch: + + Instead of using gthreads just initialize the default dbus threads. This + fixes all the deadlocks in dbus-glib applications that are called via + sudo like gdmsetup for example. (fd.o: #9259) + + -- Sebastian Dröge Mon, 22 Jan 2007 22:05:22 +0100 + +dbus-glib (0.72-3) experimental; urgency=low + + * No-change upload against unstable's libc6 + + -- Sebastian Dröge Mon, 22 Jan 2007 21:10:30 +0100 + +dbus-glib (0.72-2) experimental; urgency=low + + * debian/control: + + Updated to use my debian.org mail address + * debian/patches/01_proxy-crash.patch: + + Fix for a dbus-glib crash that could take down all dbus-glib using + applications at once (fd.o: #8235) + + -- Sebastian Dröge Mon, 8 Jan 2007 01:54:04 +0100 + +dbus-glib (0.72-1) experimental; urgency=low + + * New upstream release + * debian/control: + + Require libdbus-1-dev (>= 0.94) and libglib2.0-dev (>= 2.6) + + Add build dependency on gtk-doc-tools (>= 1.4) + * debian/control, + debian/libdbus-glib-1-doc.install: + + Add libdbus-glib-1-doc package + + -- Sebastian Dröge Wed, 1 Nov 2006 10:51:01 +0100 + +dbus-glib (0.71-3) unstable; urgency=low + + * debian/patches/00_unref_crash.patch + + Added. Fixes a crash if disposing one DBusGProxy causes another for the + same service to be unreffed in a destroyed callback. (From upstream git) + + -- Sjoerd Simons Fri, 3 Nov 2006 11:14:42 +0100 + +dbus-glib (0.71-2) unstable; urgency=low + + [ Sebastian Dröge ] + * debian/control: + + Add missing Replaces for libdbus-1-dev (<< 0.90) on libdbus-glib-1-dev + + [ Sjoerd Simons ] + * Upload to unstable + + -- Sjoerd Simons Sat, 9 Sep 2006 11:07:39 +0200 + +dbus-glib (0.71-1) experimental; urgency=low + + * First package of the dbus-glib bindings based on the non-modular dbus + package + * debian/rules: Just build the glib bindings + * debian/control: Just build the glib bindings + * debian/control: Updated to use the official D-Bus spelling + * Removed patches and files that are not applicable to the dbus-glib + bindings. + * debian/dbus-bus-introspect.xml: Added. Copy into place before building the + bindings, so it's not generated on compile-time (which requires a running + dbus) + + -- Sjoerd Simons Tue, 8 Aug 2006 00:14:35 +0200 + + +dbus (0.62-5) unstable; urgency=low + + * Update python-dbus to the new Python Policy + * Bump Standards-Version to 3.7.2 + + -- Sebastian Dröge Sat, 8 Jul 2006 01:25:40 +0200 + +dbus (0.62-4) unstable; urgency=low + + [ Sebastian Dröge ] + * add ${shlibs:Depends} to Depends of libdbus-glib-1-dev, as it ships + dbus-binding-tool to /usr/bin/. This fixes a missing libexpat.so.1.0.0. + Thanks to Daniel Holbach for noticing this. + + [ Michael Biebl ] + * debian/libdbus-qt4-1-dev.install: qt/dbus/qdbus.h is only a dummy header + file. Install the real one instead. (Closes: #375298) + + -- Sjoerd Simons Wed, 28 Jun 2006 19:03:23 +0200 + +dbus (0.62-3) unstable; urgency=low + + * Make the Qt4 bindings buid-depend on libqt4-dev (>= 4.1.3) + (Closes: #374802) + * Ensure /etc/dbus-1/system.d is included in the dbus package + (Closes: #374930) + + -- Sjoerd Simons Thu, 22 Jun 2006 18:36:35 +0200 + +dbus (0.62-2) unstable; urgency=low + + * debian/libdbus-qt-1-dev.install: Make the wildcard more strict so that it + doesn't accidentally pickup qt4 files + * debian/libdbus-qt4-1-dev.install: Also install the dbuscpp2xml and + dbusidl2cpp utilities + * debian/session.conf + + Install a custom dbus session.conf. In the generated one some variables + aren't expanded, causing the session bus to fail (Closes: #374747) + * Move libdbus-1-2 to sections libs + * Let libdbus-1-2 recommend dbus. Almost all libdbus-1 using applications + really need the dbus to be present so the recommends is justified. + (Closes: #374726) + * debian/libdbus-qt-1-dev.install: Install all the needed header files. + Thanks to Michael Biebl for testing a KDE4 build against these bindings. + + -- Sjoerd Simons Wed, 21 Jun 2006 10:47:00 +0200 + + + +dbus (0.62-1) unstable; urgency=low + + * New upstream release + * Remove Daniel Stone from uploaders on his request. + * debian/dbus.init: Remove the sleep 1 when restarting. It's not needed as + the start-stop-daemon --retry option is used to shut dbus down + * Removed patched that aren't needed anymore: + + debian/patches/dbus-reload-usercache.patch + + debian/patches/dbus-qt-buildfix.patch + + debian/patches/dbus-qt-endianness.patch + + debian/patches/dbus-0.60-mono-return-null-fix.diff + + debian/patches/dbus-tcp-econreff.patch + + debian/patches/dbus-transport-tcp.patch + + debian/patches/dbus-pendingcall-deadlock.patch + * debian/patches/dbus-update-automake.patch + + Updated + * debian/patches/dbus-no-qt4-examples.patch + + Added. Quick hack to disable the building of the qt4 example binaries. + + -- Sjoerd Simons Tue, 20 Jun 2006 19:35:46 +0200 + +dbus (0.61-6) unstable; urgency=low + + [ Sebastian Dröge ] + * debian/patches/dbus-new-monodoc.patch: + + Call the new monodoc executables for doc generation to really get + docs (Closes: #361541) + * debian/patches/dbus-update-automake.patch: + + updated for the above change + * Add the correct libdbus-glib-1-2 path to the dh_shlibdeps search path to + generate correct dependencies on dbus-1-utils. + * Update libdbus-1-cil to the new CLI policy and use dh_installcligac for + late GAC installation + * debian/patches/dbus-mono-pkgconfig-location.patch: + + Adjust the location of the .dll in the pkg-config file for the new CLI + policy. + + [ Sjoerd Simons ] + * debian/patches/dbus-transport-tcp.patch + + Added. Fixes crash when using the tcp transport without an host option + (from dbus CVS) (Closes: #368894) + * debian/patches/dbus-tcp-econreff.patch + + Added. Make the error which is given when the tcp transport gets a + connection refused more understandable (from dbus CVS) + + -- Sjoerd Simons Wed, 31 May 2006 15:00:49 +0200 + +dbus (0.61-5) unstable; urgency=low + + * debian/patches/dbus-0.60-mono-return-null-fix.diff: + + Added again as this wasn't applied upstream. This makes dbus-sharp + useable again as you don't get null anymore when asking for the session + bus (see fd.o #5716) + + -- Sebastian Dröge Sat, 18 Mar 2006 14:40:48 +0100 + +dbus (0.61-4) unstable; urgency=low + + * debian/patches/dbus-reload-usercache.patch + + Added. Reload the user info cache when reloading the config. + * debian/patches/dbus-pendingcall-deadlock.patch + + Added. Don't block in a poll if the data we're looking for was already + read by another connection. (From dbus CVS) + + -- Sjoerd Simons Sun, 5 Mar 2006 21:27:16 +0100 + +dbus (0.61-3) unstable; urgency=low + + * debian/patches/dbus-monoversion.patch + + Added. Dbus mono assembly version is synced with release version, but + nothing actually changed. This patch changes the assembly version back to + 0.60 to minimize breakage. New version will encode the assembly version + in the package name (e.g libdbus-1-cil-0.61). + + -- Sjoerd Simons Wed, 1 Mar 2006 19:59:47 +0100 + +dbus (0.61-2) unstable; urgency=low + + * debian/patches/dbus-qt-endianness.patch + + Added. Fix FTBS on big-endian architectures + + -- Sjoerd Simons Tue, 28 Feb 2006 00:58:05 +0100 + +dbus (0.61-1) unstable; urgency=medium + + * New upstream release + * debian/patches/dbus-0.60-mono-arguments-fix.diff + - Removed. Fixed upstream + * debian/patches/dbus-0.60-mono-return-null-fix.diff + - Removed. Fixed upstream + * debian/patches/dbus-moc-selection.patch + - Removed. Fixed upstream + * debian/patches/dbus-qdbusmarshall-amd64.patch + - Removed. Fixed upstream + * Update cli-common depend to >= 0.2.0. Older versions have known bugs + * Let binary-predeb/libdbus-1-cil:: depend on + common-binary-post-install-arch, so dh_clideps can do it's work correctly. + * debian/patches/dbus-qt-buildfix.patch + + Added. Fix compilation of the Qt bindings (from CVS) + * debian/patches/dbus-update-automake.patch + + Added. Do a new autogen run, because the qt patch patches autotools + files + + -- Sjoerd Simons Fri, 24 Feb 2006 22:09:17 +0100 + +dbus (0.60-6) unstable; urgency=low + + * Sync relavant changes from ubuntu + + dbus-0.60-mono-arguments-fix.diff + - Added. 64bit fixes ((fd.o bugzilla #4410) + + dbus-0.60-mono-return-null-fix.diff + - Added. Don't return null for the session bus (fd.o bugzilla #5716) + + Send the update-notifier reboot required notification if it's installed + + Build mono bindings as arch indep. + + -- Sjoerd Simons Thu, 16 Feb 2006 12:32:31 +0100 + +dbus (0.60-5) unstable; urgency=low + + * Fix a bashim in the postinst script (Closes: #347453) + + -- Sjoerd Simons Wed, 11 Jan 2006 20:15:02 +0100 + +dbus (0.60-4) unstable; urgency=low + + * Upload to unstable + + -- Sjoerd Simons Thu, 5 Jan 2006 21:55:49 +0100 + +dbus (0.60-3) experimental; urgency=low + + * debian/patches/dbus-qdbusmarshall-amd64.patch + + Fix build failure on amd64 (Closes: #343746) + * Ignore the exit code of run-parts in the init script. + + -- Sjoerd Simons Thu, 5 Jan 2006 12:30:26 +0100 + +dbus (0.60-2) experimental; urgency=low + + * Let python2.4-dbus depend on python2.4-libxml2 (Closes: #343715) + * Changed maintainer address to + pkg-utopia-maintainers@lists.alioth.debian.org + + -- Sjoerd Simons Thu, 15 Dec 2005 20:01:11 +0100 + +dbus (0.60-1) experimental; urgency=low + + * New upstream release + * Soname of libdbus-1 and libdbus-glib-1 were bumped to 2 + * debian/patches/dbus-reloadconfig-reply.patch + + Removed. Merged upstream + * debian/patches/dbus-monitor.patch + + Removed. Merged upstream + * debian/patches/dbus-make-libtool-safe.patch + + Removed. Fixed upstream + * debian/patches/dbus-moc-selection.patch + + Added. Enable the Qt moc paths to be specified to configure + * Depend on lsb-base >= 3.0 + * Let dbus conflicht with libdbus-1-1 and libdbus-1-2 with dbus << 0.60. + Some bus changes could result in strange bugs when mixing the old libs + with the new bus. + + -- Sjoerd Simons Wed, 14 Dec 2005 19:53:07 +0100 + +dbus (0.50-3) experimental; urgency=low + + * Also move dbus-launch and dbus-send manpages to the dbus package + * debian/dbus.init + + Make force-reload an alias of reload instead of restart + + -- Sjoerd Simons Mon, 21 Nov 2005 11:17:57 +0100 + +dbus (0.50-2) experimental; urgency=low + + * maintainance is actually spelled "maintenance" (Closes: #332238) + * Disable --enable-verbose because of the big performance hit + * Move dbus-binding-tool from dbus-1-utils to libdbus-glib-1-dev + * Move dbus-launch and dbus-send into the dbus package (Closes: #337212) + * Move the /etc/X11/Xsession.d/ script from dbus-1-utils to dbus + * Add reload function to the init script + * Use log_daemon_msg instead of log_begin_msg in the init script where + applicable + * debian/patches/dbus-reloadconfig-reply.patch + + Added. Send a reply message when org.freedesktop.DBus.ReloadConfig is + called + * Prefix the long description of monodoc-dubs-1-manual with one space + instead of two (Closes: #337032) + * Add LSB formatted dependency info in the init script (Closes: #337644) + + -- Sjoerd Simons Wed, 9 Nov 2005 20:02:09 +0100 + +dbus (0.50-1) experimental; urgency=low + + * New upstream release + + -- Sjoerd Simons Thu, 8 Sep 2005 10:01:21 +0200 + +dbus (0.36.2-1) experimental; urgency=low + + * New upstream release + * Fix descriptions to refer to dbus rather than dbus-1. + * Make dbus-1-utils depend on dbus + * debian/patches/dbus-sessionbus-checkuid.patch + + Removed. Fixed upstream + + -- Sjoerd Simons Tue, 6 Sep 2005 09:26:19 +0200 + +dbus (0.36.1-1) experimental; urgency=low + + * New upstream release (Closes: #319593, #324016) + * debian/patches/dbus_cmsgcred.patch + + Removed. Fixed upstream. + * debian/patches/dbus-gilstate.patch + + Removed. Fixed upstream. + * Sync with the ubuntu package + + Remove dbus_bindings.{a,la} from python2.4-dbus + + debian/patches/dbus-make-libtool-safe.patch + - Added. Replace explicit libtool calls with $(LIBTOOL) in + glib/Makefile.* + + Don't include the .la files in the dev packages. + + Don't restart dbus on upgrade. Too many applications don't handle it + correctly. + + Switched the init script to lsb-base + + Ship dbus-binding-tool and dbus-viewer with dbus-1-utils + + -- Sjoerd Simons Fri, 26 Aug 2005 21:58:42 +0200 + +dbus (0.34-4) experimental; urgency=low + + * libdbus-1-cil improvements based on comments from Mirco Bauer + + Call dh_clideps before dh_makeclilibs + + libdbus-1-cil can be arch all + + Use CLI instead of .NET in the package description + * Add debian/patches/dbus-sessionbus-checkuid.patch: + - bus/session.conf.in: Do not allow any user to connect to any session bus + by default. + - bus/policy.c: "allowed" now defaults to true if the connecting user id + matches the session bus user id. + - This stops other users from listening and sending to other user's + session dbus instances. + - References: + CAN-2005-0201 + https://bugs.freedesktop.org/show_bug.cgi?id=2436 + * debian/patches/dbus-gilstate: Fix segfaults in python bindings. + Patch by Anthony Baxter. + * Add D-BUS monodoc documentation package + * C++ transition + + -- Sjoerd Simons Mon, 11 Jul 2005 10:22:44 +0200 + +dbus (0.34-3) experimental; urgency=low + + * Build-depend on python-pyrex instead of python2.3-pyrex + * debian/dbus.postinst + + Forgot to rename dbus-1 to dbus in the previous package. + * Rename libdbus-cil to libdbus-1-cil + + -- Sjoerd Simons Wed, 22 Jun 2005 18:53:22 +0200 + +dbus (0.34-2) experimental; urgency=low + + * debian/dbus.init + + The even.d dir is in /etc/dbus-1 not in /etc/dbus + + -- Sjoerd Simons Tue, 21 Jun 2005 16:16:43 +0200 + +dbus (0.34-1) experimental; urgency=low + + * New upstream release + * Build libdbus-cil on amd64 too (Closes: #314247) + * Python bindings need python2.4, so build them against python2.4. + + -- Sjoerd Simons Mon, 20 Jun 2005 13:07:04 +0200 + +dbus (0.33-1) experimental; urgency=low + + * New upstream release (Closes: #299049) + * Redone the package names to be much more sane. + - Based on ubuntu's dbus 0.33 package by Daniel Stone. + - dbus deamon goes into the dbus package instead of dbus-1 + - glib bindings in libdbus-glib-1-1 instead of dbus-glib-1 + - qt bindings in libdbus-qt-1-1 instead of dbus-qt-1 + - Library component from dbus-1 goed into libdbus-1-1 + * debian/patches/dbus-fixverbose.patch + - Removed. Fixed upstream + * debian/patches/dbus-getpwname.patch + - Removed. Fixed upstream + * debian/patches/fix-policy-group.patch + - Removed. Not relevant anymore + + -- Sjoerd Simons Mon, 20 Jun 2005 11:12:12 +0200 + +dbus (0.23.4-2) unstable; urgency=low + + * Upload version with QT and Mono bindings to unstable. (Closes: #271895) + (Closes: #271896) (Closes: #260044) (Closes: #290622) + * debian/patches/dbus_cmsgcred.patch + - Added. Fix syntax error on systems where HAVE_CMSGCRED is defined + (Thanks to Michael Banck) (Closes: #311726) + + -- Sjoerd Simons Mon, 6 Jun 2005 22:48:08 +0200 + +dbus (0.23.4-1bindings0) experimental; urgency=low + + * Enable Mono and QT bindings. + + -- Sjoerd Simons Tue, 5 Apr 2005 22:15:29 +0200 + +dbus (0.23.4-1) unstable; urgency=low + + * New upstream release + * debian/patches/dbus-abi-api.patch + - Removed, fixed upstream + * debian/patches/dbus-python-fix.patch + - Removed, fixed upstream + * debian/patches/fix-policy-group.patch + - Stop segfaulting at " tags (Closes: #297495) + * debian/patches/dbus-fixverbose.patch + - Fix inaccurate messages in the debug output of the uid/gid lookup code + (Thanks to Tom Parker) (Closes: #297497) + * debian/patches/dbus-getpwname.patch + * Add .la files in the -dev packages (Closes: #297936) + + -- Sjoerd Simons Wed, 30 Mar 2005 23:02:00 +0200 + +dbus (0.23.2-3) unstable; urgency=low + + * debian/patches/dbus-abi-api.patch + - Fix dbus api and abi breakage between 0.23.1 and 0.23.2 (Closes: #297020) + + -- Sjoerd Simons Mon, 28 Feb 2005 15:05:19 +0100 + +dbus (0.23.2-2) unstable; urgency=low + + * debian/patches/dbus-python-fix.patch + - Fix python bindings (Based on dbus CVS fix) + + -- Sjoerd Simons Thu, 24 Feb 2005 11:19:03 +0100 + +dbus (0.23.2-1bindings0) experimental; urgency=low + * debian/patches/dbus-monofixes.patch + + Removed. Fixed in this release + + -- Sjoerd Simons Thu, 17 Feb 2005 13:24:22 +0100 + +dbus (0.23.2-1) unstable; urgency=low + * New upstream release + + -- Sjoerd Simons Wed, 23 Feb 2005 13:04:21 +0100 + +dbus (0.23.1-1bindings0) experimental; urgency=low + + * New upstream release + * debian/patches/dbus-monofixes.patch + + Added. Some mono fixes from dbus cvs + + -- Sjoerd Simons Thu, 17 Feb 2005 13:24:22 +0100 + +dbus (0.23-1mono1) experimental; urgency=low + + * Enable the qt bindings. Thanks to Kevin Ottens + (Closes: #271895) (Closes: #271896) (Closes: #290622) + + -- Sjoerd Simons Sat, 22 Jan 2005 13:53:27 +0100 + +dbus (0.23-1mono0) experimental; urgency=low + + * Enable the mono bindings + + -- Sjoerd Simons Fri, 14 Jan 2005 17:54:26 +0100 + +dbus (0.23-1) unstable; urgency=low + + * New upstream release + * Disable the mono bindings for the unstable packages untill mono goes into + testing. + + -- Sjoerd Simons Fri, 14 Jan 2005 15:22:20 +0100 + +dbus (0.22+cvs.20050104-1) experimental; urgency=low + + * CVS snapshot + * Package the dbus mono bindings for i386, powerpc and s390. Mostly based on + patches from Edd Dumbill. (Closes: #260044) + + -- Sjoerd Simons Wed, 5 Jan 2005 18:20:47 +0100 + +dbus (0.22-4) unstable; urgency=low + + * Let the initscript check if the pid in the pidfile actually corresponds + to a dbus daemon process (Closes: #285758) + + -- Sjoerd Simons Wed, 5 Jan 2005 16:55:45 +0100 + +dbus (0.22-3) unstable; urgency=medium + + * Actually ship the init script improvements mentioned in the previous + upload. (please pass the brown paper bag) + * Call run-parts --reverse on the event.d dir when stopping dbus + (Closes: #269283) + + -- Sjoerd Simons Sat, 6 Nov 2004 16:17:40 +0100 + +dbus (0.22-2) unstable; urgency=medium + + * debian/patches/dbus-monitor.patch + + Updated. Unbreak dbus-monitor when arguments are given. (From the ubuntu + dbus package) + * Use run-parts --arg instead of -a, which works with woody's run-parts + (Closes: #269708) (Closes: #274702) + * Use start-stop-daemon --retry when stopping to ensure the system bus + stopped. Prevents race conditions with the dbus pidfile (Closes: #277148) + * Add myself to Uploaders + * Acknowledge my own NMU (Closes: #272862) + + -- Sjoerd Simons Tue, 02 Nov 2004 12:19:47 +0100 + +dbus (0.22-1.1) unstable; urgency=high + + * Non-maintainer upload with maintainers permission + * debian/patches/dbus-python-64bit.patch + + Added. Taken from dbus cvs. Add support for int64 and uint64 to the + python bindings (Closes: #272862) + * Urgency high because the hal package depending on this fix fixes RC bugs. + + -- Sjoerd Simons Sat, 25 Sep 2004 17:45:33 +0200 + +dbus (0.22-1) unstable; urgency=high + + * New upstream release. + + Urgency high so it slips into sarge before the freeze. + + -- Daniel Stone Tue, 17 Aug 2004 00:42:56 +0100 + +dbus (0.21-7) unstable; urgency=low + + * Created /etc/dbus-1/event.d/ and added support to dbus' init script + to run the files in it on stop/start/restart + + -- Daniel Silverstone Thu, 22 Jul 2004 14:13:44 +0100 + +dbus (0.21-6) unstable; urgency=low + + * Add a chown,chgrp to the init script to make sure the pid dir is owned + by the messagebus user. + * Modify the dbus-1 init script to remove some arguments from the invocation + of start-stop-daemon so that it will work when being asked to stop a + dbus instance which has a different executable to that installed. + + -- Daniel Silverstone Mon, 12 Jul 2004 21:56:45 +0100 + +dbus (0.21-5) unstable; urgency=low + + * Change debian/control to indicate that dbus is group maintained. + * Build-depend on the version of python2.3-pyrex which theoretically has + the fixed patch for coping with unsigned long int vs. long unsigned int + * Removed the seddery introduced in 0.21-2 because the above build-depend + change should ensure we're safe. + + -- Daniel Silverstone Mon, 5 Jul 2004 17:44:06 +0100 + +dbus (0.21-4) unstable; urgency=low + + * Updated debian/copyright to the AFL 2.0 closes: #239332 + * Updated debian/dbus-1.init to create /var/run/dbus if it + doesn't already exist. closes: #242639 + + -- Daniel Silverstone Fri, 18 Jun 2004 00:20:27 +0100 + +dbus (0.21-3) unstable; urgency=low + + * Add the sed call to Makefile.in too. Damn my forgetfulness. + + -- Daniel Silverstone Wed, 16 Jun 2004 18:06:28 +0100 + +dbus (0.21-2) unstable; urgency=low + + * Add a sed -e's/long unsigned/unsigned long/g' to the python bindings + preparation line. This *should* solve the FTBFS on alpha, s390 and ia64 + * Also, fix an a-umlaut to 'ae' in the changelog to prevent nasty + debian-changelog-file-uses-obsolete-national-charset errors from lintian + + -- Daniel Silverstone Tue, 15 Jun 2004 19:26:12 +0100 + +dbus (0.21-1) unstable; urgency=low + + * New upstream version. + + Fixes varargs crap - cleaner patch from David Zeuthen applied. (closes: + #229274) + * Added provides/replaces/conflicts on dbus-1-utils << 0.20-4, per -4's + moving of manpages. + + -- Daniel Stone Sun, 21 Mar 2004 02:42:53 +1100 + +dbus (0.20-6) unstable; urgency=low + + * Add a touch of usage information to the top of the dbus Xsession.d file. + Also since we've had confirmation that this file does enough, this version + closes: #230835 + * Add an extra rm -f $PIDFILE to /etc/init.d/dbus-1 to help on restart. + closes: #229609 + * Temporarily quiesce error reports in system.d/*.conf files when loading. + This breaks the standard that the daemon shouldn't start with malformed + configuration files, but at least for now it seems sensible to do. + closes: #230231 + NOTE: this is likely to be removed in a future version of dbus after the + configuration file syntax stabilises. Please report bugs against packages + which have configs which fail to parse with the latest dbus package. + + -- Daniel Silverstone Tue, 10 Feb 2004 00:46:52 +0000 + +dbus (0.20-5) unstable; urgency=low + + * Add an /etc/X11/Xsession.d/ entry to launch a session bus. + You will need to add 'use-session-dbus' to your /etc/X11/Xsession.options + file to enable it. + + -- Daniel Silverstone Tue, 3 Feb 2004 18:15:48 +0000 + +dbus (0.20-4) unstable; urgency=low + + * Ensure the manpages are installed into the right package. + * Add /usr/lib/dbus-1.0/services to the dbus-1 package. (closes: #230413) + * dbus-glib-1-dev now depends on libglib2.0-dev which is kinda needed in order + to get glib-object.h + * Removed the dbus-qt-1 and dbus-qt-1-dev packages until upstream actually + do something with the binding (like putting some code into it) + + -- Daniel Silverstone Sun, 1 Feb 2004 22:22:59 +0000 + +dbus (0.20-3) unstable; urgency=high + + * Urgency high because the old package was virtually useless. + * debian/patches/fix-varargs-usage.diff: + + Merged patch from Michel Daenzer (thanks Michel!) to fix varargs usage, + so we don't segfault on --system anymore. (closes: #229274, #229005, + #229609) + + -- Daniel Stone Wed, 28 Jan 2004 06:51:07 +1100 + +dbus (0.20-2) unstable; urgency=low + + * The "gotta keep the ftpmaster cab^Whappy release". + + Hey, I need the overrides ... + * debian/python2.3-dbus.install: + + Stop installing .a and .la files (thanks Daniel Silverstone). + * debian/dbus-qt-1-dev.install: + + Install the .la file ... yep, Daniel Silverstone + * debian/patches/dbus-monitor.patch: + + Patch from Daniel Silverstone to add suport for filters to dbus-monitor: + only watch for certain events. + * debian/rules: + + Add --enable-verbose-mode to make debugging far more easier. + - Daniel Silverstone strikes again! + + -- Daniel Stone Wed, 21 Jan 2004 11:07:37 +1100 + +dbus (0.20-1) unstable; urgency=low + + * New upstream release (closes: #223400). + + This version includes Qt and Python support. + - New packages: dbus-1-qt, python2.3-dbus. + * debian/dbus-1.postinst: + + Call addgroup with --system so it doesn't get a userspace GID. + (closes: #222563) + * debian/control, debian/rules: + + Start building Qt and Python bindings. + * debian/patches/dbus-python-signals-dze.patch: + + Merged patch (already applied in HEAD) to enhance signal support in the + Python interface; available from + http://freedesktop.org/~david/dbus-python-signals-dze.patch. + + -- Daniel Stone Sat, 6 Dec 2003 00:17:50 +1100 + +dbus (0.13-1) unstable; urgency=low + + * New upstream release. + * debian/control: + + Update Maintainer address to debian.org. + + Add Recommends: dbus-glib-1 to dbus-1-utils, for the dbus-monitor + program. (closes: #213914) + + -- Daniel Stone Wed, 22 Oct 2003 13:54:53 +1000 + +dbus (0.12-4) unstable; urgency=low + + * debian/control: + + Taking over from Colin as maintainer. + + Bump debhelper Build-Dep to >=4.1.46, when dh_installlogcheck was first + introduced. + + Bump Standards-Version to 3.6.1. + + Add Replaces/Provides/Conflicts on earlier dbus-1 versions to + dbus-1-utils. + * debian/dbus-1.init: + + Clean up after the daemon's pidfile mess, ensuring smooth upgrades. + (closes: #209143) + + -- Daniel Stone Mon, 22 Sep 2003 12:13:06 +1000 + +dbus (0.12-3) unstable; urgency=low + + * debian/control: + - Break out utilities into separate dbus-1-utils package. + + -- Colin Walters Sat, 30 Aug 2003 20:07:28 -0400 + +dbus (0.12-2) unstable; urgency=low + + * debian/control: + - [dbus-1] Add Depends on adduser (Closes: #204871) + + -- Colin Walters Sun, 10 Aug 2003 22:23:36 -0400 + +dbus (0.12-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - Bump Standards-Version to 3.6.0, no changes required. + + -- Colin Walters Wed, 6 Aug 2003 01:50:13 -0400 + +dbus (0.11+cvs200307017-1) unstable; urgency=low + + * New upstream CVS snapshot. + - Creates services directory (Closes: #198433) + + -- Colin Walters Thu, 17 Jul 2003 19:05:37 -0400 + +dbus (0.11+cvs20030528-2) unstable; urgency=low + + * debian/rules: + - Include utils.mk. + + -- Colin Walters Thu, 29 May 2003 02:14:29 -0400 + +dbus (0.11+cvs20030528-1) unstable; urgency=low + + * New upstream CVS snapshot. + * debian/control: + - Build-Depend on latest cdbs to get some minor fixes. + + -- Colin Walters Wed, 28 May 2003 16:56:29 -0400 + +dbus (0.11-2) unstable; urgency=low + + * debian/control: + - Add Build-Depends on cdbs, just because it's so freaking sweet. + * debian/rules: + - Convert to CDBS. + * debian/rocks: + - Removed. + + -- Colin Walters Mon, 19 May 2003 19:21:33 -0400 + +dbus (0.11-1) unstable; urgency=low + + * The "Bill Gates Grants Self 18 Dexterity, 20 Charisma" release. + * New upstream release. + * debian/control: + - Bump Standards-Version to 3.5.10, no changes required. + * debian/rocks: + - No need to create system.d anymore, upstream does it now. + + -- Colin Walters Thu, 15 May 2003 22:01:23 -0400 + +dbus (0.10+cvs20030503-2) unstable; urgency=low + + * The "I've Got To Stop Taking Lives So Seriously" release. + * debian/control: + - Add Build-Depends on docbook-utils. + + -- Colin Walters Sat, 3 May 2003 16:58:20 -0400 + +dbus (0.10+cvs20030503-1) unstable; urgency=low + + * The "Chimp Study On Human-Evasion Response To Feces-Hurling Nearly + Complete" release. + * New upstream snapshot. + - Includes some of my patches; this will among other things make + the system bus go again. + * debian/rocks: + - Add --enable-docs to DEB_CONFIGURE_EXTRA_FLAGS. + * debian/dbus-1-dev.install: + - Update to handle new upstream .pc name. + * debian/rules: + - Update to latest version of Colin's Build System. + + -- Colin Walters Sat, 3 May 2003 03:58:53 -0400 + +dbus (0.10-1) unstable; urgency=low + + * The "West-Wing Tech-Support' Crew Be A Buncha Wack Bitches" release. + * New upstream release. + * debian/dbus-1.install: + - Install all binaries. + * debian/dbus-1-dev.install: + - Install headers from /usr/lib/dbus-1.0 too. + * debian/rocks: + - Create etc/dbus-1/system.d. + + -- Colin Walters Mon, 28 Apr 2003 17:29:50 -0400 + +dbus (0.9-2) unstable; urgency=low + + * The "New Fox Reality Show To Determine Ruler Of Iraq" release. + * debian/rocks: + - Generate API docs via doxygen (Closes: #185470) + * debian/control: + - Build-Depend on doxygen. + * debian/dbus-1-doc.install: + - Install docs in correct place. + - Install newly generated doxygen docs. + * debian/rules: + - Update to latest version of Colin's Build System. + - Eagerly await ftpmaster installing build-common. + + -- Colin Walters Wed, 23 Apr 2003 23:40:00 -0400 + +dbus (0.9-1) unstable; urgency=low + + * The "Starbucks To Begin Sinister 'Phase Two' Of Operation" release. + * New upstream release. + * debian/control: + - Drop "lib*" prefix from all packages, and change suffix from "0" to "-1". + D-BUS isn't technically just a shared library; it also includes a + daemon. This could really go either way; I could just put the daemon + in the libdbus0 package and be done with it, but I think that's more + confusing in the end, since people have been very conditioned to + expect libfoo -> just shared library. + - Add Conflicts: and Replaces: on older lib* packages. + - Remove Provides and Conflicts on libdbus-dev in new dbus-1-dev + package, since they are actually parallel installable. + - Ditto for libdbus-glib0-dev. + - Touch up descriptions. + - Update to Standards-Version: 3.5.9; no changes required. + - Add libexpat-dev to Build-Depends. + * debian/dbus0.init: + - New file; runs the D-BUS daemon. + * debian/dbus0.default: + - New file. + * debian/dbus0.postinst: + - New file; creates the messagebus user and stuff. + * debian/dbus0.install: + - Install configuration files. + * debian/rocks: + - Add --with-xml=expat. + - Update to correspond with changes to debian/control. + - Make dbus-glib-1 package be built after dbus-1 package. + - Add debian/dbus-1/usr/lib to DEB_SHLIBDEPS_INCLUDE_dbus-glib-1 so we + pick up the right shlibs. + * debian/rules: + - Update to latest version of Colin's Build System. + + -- Colin Walters Sun, 13 Apr 2003 23:40:29 -0400 + +dbus (0.6-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - [libdbus0] Flesh out description somewhat. + + -- Colin Walters Tue, 18 Mar 2003 10:50:42 -0500 + +dbus (0.5-2) unstable; urgency=low + + * debian/libdbus0-dev.install: + - Don't include dbus-glib-1.0.pc. + - Don't include dbus-glib-1.a or .so. + + -- Colin Walters Thu, 6 Mar 2003 23:17:53 -0500 + +dbus (0.5-1) unstable; urgency=low + + * Initial version (Closes: #183739) + + -- Colin Walters Thu, 6 Mar 2003 17:58:06 -0500 --- dbus-glib-0.84.orig/debian/libdbus-glib-1-dev.install +++ dbus-glib-0.84/debian/libdbus-glib-1-dev.install @@ -0,0 +1,5 @@ +debian/tmp/usr/bin/dbus-binding-tool +debian/tmp/usr/include/dbus*/dbus/*.h +debian/tmp/usr/lib/pkgconfig/dbus-glib-1.pc +debian/tmp/usr/lib/libdbus-glib-*.a +debian/tmp/usr/lib/libdbus-glib-*.so --- dbus-glib-0.84.orig/debian/rules +++ dbus-glib-0.84/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f +# Copyright © 2002,2003 Colin Walters +# Copyright © 2003 Daniel Stone +# Copyright © 2006 Sjoerd Simons + +include /usr/share/cdbs/1/rules/simple-patchsys.mk +include /usr/share/cdbs/1/rules/utils.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk + +# Strict library versioning +DEB_DH_MAKESHLIBS_ARGS_ALL := -V "libdbus-glib-1-2 (>= 0.84)" + +DEB_CONFIGURE_EXTRA_FLAGS := --with-introspect-xml=$(CURDIR)/debian/dbus-bus-introspect.xml + +# these doc directories can safely be symlinks to the library's docs +DEB_INSTALL_DOCS_libdbus-glib-1-2-dbg := --no-act +DEB_INSTALL_CHANGELOGS_libdbus-glib-1-2-dbg := --no-act --- dbus-glib-0.84.orig/debian/copyright +++ dbus-glib-0.84/debian/copyright @@ -0,0 +1,214 @@ +This package was debianized by Colin Walters on +Thu, 6 Mar 2003 18:01:37 -0500 + +It was downloaded from http://www.freedesktop.org/software/dbus + +This package is dual-licensed under the Academic Free License version 2.1, +and the GPL version 2. For a description of the GPL, see +/usr/share/common-licenses/GPL-2 on your Debian system. + +Portions of the package are only licensed under the GPL (notably +tools/dbus-cleanup-sockets.c and test/decode-gcov.c ). + +The Academic Free License follows: + +The Academic Free License +v. 2.1 + +This Academic Free License (the "License") applies to any original +work of authorship (the "Original Work") whose owner (the "Licensor") +has placed the following notice immediately following the copyright +notice for the Original Work: + +Licensed under the Academic Free License version 2.1 + +1) Grant of Copyright License. Licensor hereby grants You a +world-wide, royalty-free, non-exclusive, perpetual, sublicenseable +license to do the following: + +a) to reproduce the Original Work in copies; + +b) to prepare derivative works ("Derivative Works") based upon the Original Work; + +c) to distribute copies of the Original Work and Derivative Works to the public; + +d) to perform the Original Work publicly; and + +e) to display the Original Work publicly. + +2) Grant of Patent License. Licensor hereby grants You a world-wide, +royalty-free, non-exclusive, perpetual, sublicenseable license, under +patent claims owned or controlled by the Licensor that are embodied in +the Original Work as furnished by the Licensor, to make, use, sell and +offer for sale the Original Work and Derivative Works. + +3) Grant of Source Code License. The term "Source Code" means the +preferred form of the Original Work for making modifications to it and +all available documentation describing how to modify the Original +Work. Licensor hereby agrees to provide a machine-readable copy of the +Source Code of the Original Work along with each copy of the Original +Work that Licensor distributes. Licensor reserves the right to satisfy +this obligation by placing a machine-readable copy of the Source Code +in an information repository reasonably calculated to permit +inexpensive and convenient access by You for as long as Licensor +continues to distribute the Original Work, and by publishing the +address of that information repository in a notice immediately +following the copyright notice that applies to the Original Work. + +4) Exclusions From License Grant. Neither the names of Licensor, nor +the names of any contributors to the Original Work, nor any of their +trademarks or service marks, may be used to endorse or promote +products derived from this Original Work without express prior written +permission of the Licensor. Nothing in this License shall be deemed to +grant any rights to trademarks, copyrights, patents, trade secrets or +any other intellectual property of Licensor except as expressly stated +herein. No patent license is granted to make, use, sell or offer to +sell embodiments of any patent claims other than the licensed claims +defined in Section 2. No right is granted to the trademarks of +Licensor even if such marks are included in the Original Work. Nothing +in this License shall be interpreted to prohibit Licensor from +licensing under different terms from this License any Original Work +that Licensor otherwise would have a right to license. + +5) This section intentionally omitted. + +6) Attribution Rights. You must retain, in the Source Code of any +Derivative Works that You create, all copyright, patent or trademark +notices from the Source Code of the Original Work, as well as any +notices of licensing and any descriptive text identified therein as an +"Attribution Notice." You must cause the Source Code for any +Derivative Works that You create to carry a prominent Attribution +Notice reasonably calculated to inform recipients that You have +modified the Original Work. + +7) Warranty of Provenance and Disclaimer of Warranty. Licensor +warrants that the copyright in and to the Original Work and the patent +rights granted herein by Licensor are owned by the Licensor or are +sublicensed to You under the terms of this License with the permission +of the contributor(s) of those copyrights and patent rights. Except as +expressly stated in the immediately proceeding sentence, the Original +Work is provided under this License on an "AS IS" BASIS and WITHOUT +WARRANTY, either express or implied, including, without limitation, +the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A +PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL +WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential +part of this License. No license to Original Work is granted hereunder +except under this disclaimer. + +8) Limitation of Liability. Under no circumstances and under no legal +theory, whether in tort (including negligence), contract, or +otherwise, shall the Licensor be liable to any person for any direct, +indirect, special, incidental, or consequential damages of any +character arising as a result of this License or the use of the +Original Work including, without limitation, damages for loss of +goodwill, work stoppage, computer failure or malfunction, or any and +all other commercial damages or losses. This limitation of liability +shall not apply to liability for death or personal injury resulting +from Licensor's negligence to the extent applicable law prohibits such +limitation. Some jurisdictions do not allow the exclusion or +limitation of incidental or consequential damages, so this exclusion +and limitation may not apply to You. + +9) Acceptance and Termination. If You distribute copies of the +Original Work or a Derivative Work, You must make a reasonable effort +under the circumstances to obtain the express assent of recipients to +the terms of this License. Nothing else but this License (or another +written agreement between Licensor and You) grants You permission to +create Derivative Works based upon the Original Work or to exercise +any of the rights granted in Section 1 herein, and any attempt to do +so except under the terms of this License (or another written +agreement between Licensor and You) is expressly prohibited by +U.S. copyright law, the equivalent laws of other countries, and by +international treaty. Therefore, by exercising any of the rights +granted to You in Section 1 herein, You indicate Your acceptance of +this License and all of its terms and conditions. + +10) Termination for Patent Action. This License shall terminate +automatically and You may no longer exercise any of the rights granted +to You by this License as of the date You commence an action, +including a cross-claim or counterclaim, against Licensor or any +licensee alleging that the Original Work infringes a patent. This +termination provision shall not apply for an action alleging patent +infringement by combinations of the Original Work with other software +or hardware. + +11) Jurisdiction, Venue and Governing Law. Any action or suit relating +to this License may be brought only in the courts of a jurisdiction +wherein the Licensor resides or in which Licensor conducts its primary +business, and under the laws of that jurisdiction excluding its +conflict-of-law provisions. The application of the United Nations +Convention on Contracts for the International Sale of Goods is +expressly excluded. Any use of the Original Work outside the scope of +this License or after its termination shall be subject to the +requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 +et seq., the equivalent laws of other countries, and international +treaty. This section shall survive the termination of this License. + +12) Attorneys Fees. In any action to enforce the terms of this License +or seeking damages relating thereto, the prevailing party shall be +entitled to recover its costs and expenses, including, without +limitation, reasonable attorneys' fees and costs incurred in +connection with such action, including any appeal of such action. This +section shall survive the termination of this License. + +13) Miscellaneous. This License represents the complete agreement +concerning the subject matter hereof. If any provision of this License +is held to be unenforceable, such provision shall be reformed only to +the extent necessary to make it enforceable. + +14) Definition of "You" in This License. "You" throughout this +License, whether in upper or lower case, means an individual or a +legal entity exercising rights under, and complying with all of the +terms of, this License. For legal entities, "You" includes any entity +that controls, is controlled by, or is under common control with +you. For purposes of this definition, "control" means (i) the power, +direct or indirect, to cause the direction or management of such +entity, whether by contract or otherwise, or (ii) ownership of fifty +percent (50%) or more of the outstanding shares, or (iii) beneficial +ownership of such entity. + +15) Right to Use. You may use the Original Work in all ways not +otherwise restricted or conditioned by this License or by law, and +Licensor promises not to interfere with or be responsible for such +uses by You. + +This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights +reserved. Permission is hereby granted to copy and distribute this +license without modification. This license may not be modified without +the express written permission of its copyright owner. + + +-- +END OF ACADEMIC FREE LICENSE. The following is intended to describe the essential +differences between the Academic Free License (AFL) version 1.0 and other +open source licenses: + +The Academic Free License is similar to the BSD, MIT, UoI/NCSA and Apache +licenses in many respects but it is intended to solve a few problems with +those licenses. + +* The AFL is written so as to make it clear what software is being +licensed (by the inclusion of a statement following the copyright notice +in the software). This way, the license functions better than a template +license. The BSD, MIT and UoI/NCSA licenses apply to unidentified software. + +* The AFL contains a complete copyright grant to the software. The BSD +and Apache licenses are vague and incomplete in that respect. + +* The AFL contains a complete patent grant to the software. The BSD, MIT, +UoI/NCSA and Apache licenses rely on an implied patent license and contain +no explicit patent grant. + +* The AFL makes it clear that no trademark rights are granted to the +licensor's trademarks. The Apache license contains such a provision, but the +BSD, MIT and UoI/NCSA licenses do not. + +* The AFL includes the warranty by the licensor that it either owns the +copyright or that it is distributing the software under a license. None of +the other licenses contain that warranty. All other warranties are disclaimed, +as is the case for the other licenses. + +* The AFL is itself copyrighted (with the right granted to copy and distribute +without modification). This ensures that the owner of the copyright to the +license will control changes. The Apache license contains a copyright notice, +but the BSD, MIT and UoI/NCSA licenses do not. --- dbus-glib-0.84.orig/debian/patches/01-CVE-2010-1172.patch +++ dbus-glib-0.84/debian/patches/01-CVE-2010-1172.patch @@ -0,0 +1,1208 @@ +Origin: based on aa4e373030ce7426a03c65fab22bc58fd75c73cd from Colin Walters +Description: [PATCH] Respect property access flags for writing, allow disabling + for reads + . + Because DBus-GLib originally was designed as a generic "object mapping" + binding, the handler for org.freedesktop.DBus.Properties simply + allowed access (read or write) to any GObject property that was + exported. + . + Later, the (compile time) introspection XML was added, and while we only + listed "exported" properties in the dynamic introspection XML, we + still allowed Get or Set calls to any property that was valid. + . + With this patch, we deny writes to properties which aren't listed + in the XML, or are listed as read-only. + . + For backwards compatibility however, we still allow reads. A + service may disable this by calling + dbus_glib_global_set_disable_legacy_property_access(). +Bug: https://bugzilla.redhat.com/show_bug.cgi?id=585394 +Ubuntu-Bug: https://launchpad.net/bugs/616517 + +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//dbus/dbus-binding-tool-glib.c dbus-glib-0.84.new//dbus/dbus-binding-tool-glib.c +--- dbus-glib-0.84//dbus/dbus-binding-tool-glib.c 2010-01-12 11:18:03.000000000 -0600 ++++ dbus-glib-0.84.new//dbus/dbus-binding-tool-glib.c 2011-05-25 16:31:22.000000000 -0500 +@@ -38,6 +38,10 @@ + #include + #include + ++/* Remember to grep for ->format_version in the code if you change this, ++ * most changes should be in dbus-gobject.c. */ ++#define FORMAT_VERSION 1 ++ + #define MARSHAL_PREFIX "dbus_glib_marshal_" + + typedef struct +@@ -466,14 +470,13 @@ + { + GString *object_introspection_data_blob; + GIOChannel *channel; +- ++ + channel = data->channel; +- +- object_introspection_data_blob = g_string_new_len ("", 0); + ++ object_introspection_data_blob = g_string_new_len ("", 0); + data->blob = object_introspection_data_blob; + data->count = 0; +- ++ + data->signal_blob = g_string_new_len ("", 0); + data->property_blob = g_string_new_len ("", 0); + +@@ -490,10 +493,9 @@ + WRITE_OR_LOSE ("};\n\n"); + /* Information about the object. */ + +- if (!write_printf_to_iochannel ("const DBusGObjectInfo dbus_glib_%s_object_info = {\n", +- channel, error, data->prefix)) ++ if (!write_printf_to_iochannel ("const DBusGObjectInfo dbus_glib_%s_object_info = { %d,\n", ++ channel, error, data->prefix, FORMAT_VERSION)) + goto io_lose; +- WRITE_OR_LOSE (" 0,\n"); + if (!write_printf_to_iochannel (" dbus_glib_%s_methods,\n", channel, error, data->prefix)) + goto io_lose; + if (!write_printf_to_iochannel (" %d,\n", channel, error, data->count)) +@@ -753,13 +755,36 @@ + for (tmp = properties; tmp != NULL; tmp = g_slist_next (tmp)) + { + PropertyInfo *prop; +- +- prop = tmp->data; ++ PropertyAccessFlags access_flags; ++ const char *access_string; ++ char *uscored; ++ ++ prop = tmp->data; ++ ++ access_flags = property_info_get_access (prop); ++ if ((access_flags & PROPERTY_READ) && (access_flags & PROPERTY_WRITE)) ++ access_string = "readwrite"; ++ else if (access_flags & PROPERTY_READ) ++ access_string = "read"; ++ else if (access_flags & PROPERTY_WRITE) ++ access_string = "write"; ++ else ++ continue; ++ ++ /* We append both in the blob so we have to malloc() less when processing ++ * properties */ ++ uscored = _dbus_gutils_wincaps_to_uscore (property_info_get_name (prop)); ++ ++ g_string_append (data->property_blob, interface_info_get_name (interface)); ++ g_string_append_c (data->property_blob, '\0'); ++ g_string_append (data->property_blob, property_info_get_name (prop)); ++ g_string_append_c (data->property_blob, '\0'); ++ g_string_append (data->property_blob, uscored); ++ g_string_append_c (data->property_blob, '\0'); ++ g_string_append (data->property_blob, access_string); ++ g_string_append_c (data->property_blob, '\0'); + +- g_string_append (data->property_blob, interface_info_get_name (interface)); +- g_string_append_c (data->property_blob, '\0'); +- g_string_append (data->property_blob, property_info_get_name (prop)); +- g_string_append_c (data->property_blob, '\0'); ++ g_free (uscored); + } + } + return TRUE; +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//dbus/dbus-glib.h dbus-glib-0.84.new//dbus/dbus-glib.h +--- dbus-glib-0.84//dbus/dbus-glib.h 2010-01-27 12:46:40.000000000 -0600 ++++ dbus-glib-0.84.new//dbus/dbus-glib.h 2011-05-25 16:31:22.000000000 -0500 +@@ -154,6 +154,8 @@ + const char *exported_properties; + }; + ++void dbus_glib_global_set_disable_legacy_property_access (void); ++ + void dbus_g_object_type_install_info (GType object_type, + const DBusGObjectInfo *info); + +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//dbus/dbus-gobject.c dbus-glib-0.84.new//dbus/dbus-gobject.c +--- dbus-glib-0.84//dbus/dbus-gobject.c 2010-01-12 11:18:03.000000000 -0600 ++++ dbus-glib-0.84.new//dbus/dbus-gobject.c 2011-05-25 16:32:14.000000000 -0500 +@@ -42,6 +42,8 @@ + } DBusGErrorInfo; + + static GStaticRWLock globals_lock = G_STATIC_RW_LOCK_INIT; ++/* See comments in check_property_access */ ++static gboolean disable_legacy_property_access = FALSE; + static GHashTable *marshal_table = NULL; + static GData *error_metadata = NULL; + +@@ -104,6 +106,23 @@ + return object->data + method->data_offset; + } + ++/* Ugly yes - but we have to accept strings from both formats */ ++static gboolean ++compare_strings_ignoring_uscore_vs_dash (const char *a, const char *b) ++{ ++ guint i; ++ ++ for (i = 0; a[i] && b[i]; i++) ++ { ++ if ((a[i] == '-' && b[i] == '_') ++ || (a[i] == '_' && b[i] == '-')) ++ continue; ++ if (a[i] != b[i]) ++ return FALSE; ++ } ++ return (a[i] == '\0') && (b[i] == '\0'); ++} ++ + static char * + object_error_domain_prefix_from_object_info (const DBusGObjectInfo *info) + { +@@ -270,7 +289,7 @@ + } + + static const char * +-propsig_iterate (const char *data, const char **iface, const char **name) ++signal_iterate (const char *data, const char **iface, const char **name) + { + *iface = data; + +@@ -280,6 +299,108 @@ + return string_table_next (data); + } + ++static const char * ++property_iterate (const char *data, ++ int format_version, ++ const char **iface, ++ const char **exported_name, ++ const char **name_uscored, ++ const char **access_type) ++{ ++ *iface = data; ++ ++ data = string_table_next (data); ++ *exported_name = data; ++ ++ data = string_table_next (data); ++ if (format_version == 1) ++ { ++ *name_uscored = data; ++ data = string_table_next (data); ++ *access_type = data; ++ return string_table_next (data); ++ } ++ else ++ { ++ /* This tells the caller they need to compute it */ ++ *name_uscored = NULL; ++ /* We don't know here, however note that we will still check against the ++ * readable/writable flags from GObject's metadata. ++ */ ++ *access_type = "readwrite"; ++ return data; ++ } ++} ++ ++/** ++ * property_info_from_object_info: ++ * @object: introspection data ++ * @interface_name: (allow-none): Expected interface name, or %NULL for any ++ * @property_name: Expected property name (can use "-" or "_" as separator) ++ * @access_type: (out): Can be one of "read", "write", "readwrite" ++ * ++ * Look up property introspection data for the given interface/name pair. ++ * ++ * Returns: %TRUE if property was found ++ */ ++static gboolean ++property_info_from_object_info (const DBusGObjectInfo *object, ++ const char *interface_name, ++ const char *property_name, ++ const char **access_type) ++{ ++ const char *properties_iter; ++ ++ properties_iter = object->exported_properties; ++ while (properties_iter != NULL && *properties_iter) ++ { ++ const char *cur_interface_name; ++ const char *cur_property_name; ++ const char *cur_uscore_property_name; ++ const char *cur_access_type; ++ ++ ++ properties_iter = property_iterate (properties_iter, object->format_version, ++ &cur_interface_name, &cur_property_name, ++ &cur_uscore_property_name, &cur_access_type); ++ ++ if (interface_name && strcmp (interface_name, cur_interface_name) != 0) ++ continue; ++ ++ /* This big pile of ugly is necessary to support the matrix resulting from multiplying ++ * (v0 data, v1 data) * (FooBar, foo-bar) ++ * In v1 data we have both forms of string, so we do a comparison against both without ++ * having to malloc. ++ * For v0 data, we need to reconstruct the foo-bar form. ++ * ++ * Adding to the complexity is that we *also* have to ignore the distinction between ++ * '-' and '_', because g_object_{get,set} does. ++ */ ++ /* First, compare against the primary property name - no malloc required */ ++ if (!compare_strings_ignoring_uscore_vs_dash (property_name, cur_property_name)) ++ { ++ if (cur_uscore_property_name != NULL ++ && !compare_strings_ignoring_uscore_vs_dash (property_name, cur_uscore_property_name)) ++ continue; ++ else ++ { ++ /* v0 metadata, construct uscore */ ++ char *tmp_uscored; ++ gboolean matches; ++ tmp_uscored = _dbus_gutils_wincaps_to_uscore (cur_property_name); ++ matches = compare_strings_ignoring_uscore_vs_dash (property_name, tmp_uscored); ++ g_free (tmp_uscored); ++ if (!matches) ++ continue; ++ } ++ } ++ ++ *access_type = cur_access_type; ++ return TRUE; ++ } ++ return FALSE; ++} ++ + static GQuark + dbus_g_object_type_dbus_metadata_quark (void) + { +@@ -290,9 +411,14 @@ + return quark; + } + ++/* Iterator function should return FALSE to stop iteration, TRUE to continue */ ++typedef gboolean (*ForeachObjectInfoFn) (const DBusGObjectInfo *info, ++ GType gtype, ++ gpointer user_data); ++ + static void + foreach_object_info (GObject *object, +- GFunc callback, ++ ForeachObjectInfoFn callback, + gpointer user_data) + { + GType *interfaces, *p; +@@ -305,7 +431,10 @@ + { + info = g_type_get_qdata (*p, dbus_g_object_type_dbus_metadata_quark ()); + if (info != NULL && info->format_version >= 0) +- callback ((gpointer) info, user_data); ++ { ++ if (!callback (info, *p, user_data)) ++ break; ++ } + } + + g_free (interfaces); +@@ -314,18 +443,23 @@ + { + info = g_type_get_qdata (classtype, dbus_g_object_type_dbus_metadata_quark ()); + if (info != NULL && info->format_version >= 0) +- callback ((gpointer) info, user_data); ++ { ++ if (!callback (info, classtype, user_data)) ++ break; ++ } + } + + } + +-static void +-lookup_object_info_cb (gpointer data, +- gpointer user_data) ++static gboolean ++lookup_object_info_cb (const DBusGObjectInfo *info, ++ GType gtype, ++ gpointer user_data) + { + GList **list = (GList **) user_data; + +- *list = g_list_prepend (*list, data); ++ *list = g_list_prepend (*list, (gpointer) info); ++ return TRUE; + } + + static GList * +@@ -340,41 +474,51 @@ + + typedef struct { + const char *iface; +- DBusGObjectInfo *info; ++ const DBusGObjectInfo *info; ++ gboolean fallback; ++ GType iface_type; + } LookupObjectInfoByIfaceData; + +-static void +-lookup_object_info_by_iface_cb (gpointer data, +- gpointer user_data) ++static gboolean ++lookup_object_info_by_iface_cb (const DBusGObjectInfo *info, ++ GType gtype, ++ gpointer user_data) + { +- DBusGObjectInfo *info = (DBusGObjectInfo *) data; + LookupObjectInfoByIfaceData *lookup_data = (LookupObjectInfoByIfaceData *) user_data; + +- if (lookup_data->info) +- return; +- + /* If interface is not specified, choose the first info */ +- if (!lookup_data->iface || strlen (lookup_data->iface) == 0) ++ if (lookup_data->fallback && (!lookup_data->iface || strlen (lookup_data->iface) == 0)) + { + lookup_data->info = info; +- return; ++ lookup_data->iface_type = gtype; + } +- +- if (info->exported_properties && !strcmp (info->exported_properties, lookup_data->iface)) ++ else if (info->exported_properties && !strcmp (info->exported_properties, lookup_data->iface)) ++ { + lookup_data->info = info; ++ lookup_data->iface_type = gtype; ++ } ++ ++ return !lookup_data->info; + } + +-static DBusGObjectInfo * ++static const DBusGObjectInfo * + lookup_object_info_by_iface (GObject *object, +- const char *iface) ++ const char *iface, ++ gboolean fallback, ++ GType *out_iface_type) + { + LookupObjectInfoByIfaceData data; + + data.iface = iface; + data.info = NULL; ++ data.fallback = fallback; ++ data.iface_type = 0; + + foreach_object_info (object, lookup_object_info_by_iface_cb, &data); + ++ if (out_iface_type && data.info) ++ *out_iface_type = data.iface_type; ++ + return data.info; + } + +@@ -543,30 +687,43 @@ + + for (; properties; properties = properties->next) + { ++ const char *iface; + const char *propname; ++ const char *propname_uscore; ++ const char *access_type; + GParamSpec *spec; + char *dbus_type; + gboolean can_set; + gboolean can_get; + char *s; + +- propname = properties->data; + spec = NULL; + ++ property_iterate (properties->data, object_info->format_version, &iface, &propname, &propname_uscore, &access_type); ++ + s = _dbus_gutils_wincaps_to_uscore (propname); + +- spec = g_object_class_find_property (g_type_class_peek (data->gtype), s); ++ if (!propname_uscore) ++ { ++ char *s = _dbus_gutils_wincaps_to_uscore (propname); ++ spec = g_object_class_find_property (g_type_class_peek (data->gtype), s); ++ g_free (s); ++ } ++ else ++ { ++ spec = g_object_class_find_property (g_type_class_peek (data->gtype), propname_uscore); ++ } + g_assert (spec != NULL); +- g_free (s); +- ++ + dbus_type = _dbus_gtype_to_signature (G_PARAM_SPEC_VALUE_TYPE (spec)); + g_assert (dbus_type != NULL); +- +- can_set = ((spec->flags & G_PARAM_WRITABLE) != 0 && +- (spec->flags & G_PARAM_CONSTRUCT_ONLY) == 0); +- ++ ++ can_set = strcmp (access_type, "readwrite") == 0 ++ && ((spec->flags & G_PARAM_WRITABLE) != 0 ++ && (spec->flags & G_PARAM_CONSTRUCT_ONLY) == 0); ++ + can_get = (spec->flags & G_PARAM_READABLE) != 0; +- ++ + if (can_set || can_get) + { + g_string_append_printf (xml, " \n"); + } +- + g_free (dbus_type); + } + g_slist_free (values->properties); +@@ -654,7 +810,7 @@ + const char *iface; + const char *signame; + +- propsig = propsig_iterate (propsig, &iface, &signame); ++ propsig = signal_iterate (propsig, &iface, &signame); + + values = lookup_values (interfaces, iface); + values->signals = g_slist_prepend (values->signals, (gpointer) signame); +@@ -665,13 +821,15 @@ + { + const char *iface; + const char *propname; ++ const char *propname_uscore; ++ const char *access_type; + +- propsig = propsig_iterate (propsig, &iface, &propname); ++ propsig = property_iterate (propsig, info->format_version, &iface, &propname, &propname_uscore, &access_type); + + values = lookup_values (interfaces, iface); +- values->properties = g_slist_prepend (values->properties, (gpointer) propname); ++ values->properties = g_slist_prepend (values->properties, (gpointer)iface); + } +- ++ + memset (&data, 0, sizeof (data)); + data.xml = xml; + data.gtype = G_TYPE_FROM_INSTANCE (object); +@@ -898,24 +1056,14 @@ + { + const char *prop_ifname; + const char *prop_name; ++ const char *prop_uscored; ++ const char *access_flags; + GParamSpec *pspec; + GType value_gtype; + GValue value = {0, }; + gchar *variant_sig; + +- prop_ifname = p; +- +- while (*p != '\0') +- p++; +- p++; +- if (*p == '\0') { +- g_warning ("malformed exported_properties in object_info"); +- break; +- } +- prop_name = p; +- while (*p != '\0') +- p++; +- p++; ++ p = property_iterate (p, object_info->format_version, &prop_ifname, &prop_name, &prop_uscored, &access_flags); + + uscore_propname = _dbus_gutils_wincaps_to_uscore (prop_name); + +@@ -1574,6 +1722,70 @@ + goto done; + } + ++static gboolean ++check_property_access (DBusConnection *connection, ++ DBusMessage *message, ++ GObject *object, ++ const char *wincaps_propiface, ++ const char *requested_propname, ++ const char *uscore_propname, ++ gboolean is_set) ++{ ++ const DBusGObjectInfo *object_info; ++ const char *access_type; ++ DBusMessage *ret; ++ ++ if (!is_set && !disable_legacy_property_access) ++ return TRUE; ++ ++ object_info = lookup_object_info_by_iface (object, wincaps_propiface, TRUE, NULL); ++ if (!object_info) ++ { ++ ret = dbus_message_new_error_printf (message, ++ DBUS_ERROR_ACCESS_DENIED, ++ "Interface \"%s\" isn't exported (or may not exist), can't access property \"%s\"", ++ wincaps_propiface, ++ requested_propname); ++ dbus_connection_send (connection, ret, NULL); ++ dbus_message_unref (ret); ++ return FALSE; ++ } ++ ++ /* Try both forms of property names: "foo_bar" or "FooBar"; for historical ++ * reasons we accept both. ++ */ ++ if (object_info ++ && !(property_info_from_object_info (object_info, wincaps_propiface, requested_propname, &access_type) ++ || property_info_from_object_info (object_info, wincaps_propiface, uscore_propname, &access_type))) ++ { ++ ret = dbus_message_new_error_printf (message, ++ DBUS_ERROR_ACCESS_DENIED, ++ "Property \"%s\" of interface \"%s\" isn't exported (or may not exist)", ++ requested_propname, ++ wincaps_propiface); ++ dbus_connection_send (connection, ret, NULL); ++ dbus_message_unref (ret); ++ return FALSE; ++ } ++ ++ if (strcmp (access_type, "readwrite") == 0) ++ return TRUE; ++ else if (is_set ? strcmp (access_type, "read") == 0 ++ : strcmp (access_type, "write") == 0) ++ { ++ ret = dbus_message_new_error_printf (message, ++ DBUS_ERROR_ACCESS_DENIED, ++ "Property \"%s\" of interface \"%s\" is not %s", ++ requested_propname, ++ wincaps_propiface, ++ is_set ? "settable" : "readable"); ++ dbus_connection_send (connection, ret, NULL); ++ dbus_message_unref (ret); ++ return FALSE; ++ } ++ return TRUE; ++} ++ + static DBusHandlerResult + object_registration_message (DBusConnection *connection, + DBusMessage *message, +@@ -1585,7 +1797,7 @@ + gboolean getter; + gboolean getall; + char *s; +- const char *wincaps_propname; ++ const char *requested_propname; + const char *wincaps_propiface; + DBusMessageIter iter; + const DBusGMethodInfo *method; +@@ -1607,7 +1819,8 @@ + return invoke_object_method (object, object_info, method, connection, message); + + /* If no metainfo, we can still do properties and signals +- * via standard GLib introspection ++ * via standard GLib introspection. Note we do now check ++ * property access against the metainfo if available. + */ + getter = FALSE; + setter = FALSE; +@@ -1643,7 +1856,7 @@ + + if (getall) + { +- object_info = lookup_object_info_by_iface (object, wincaps_propiface); ++ object_info = lookup_object_info_by_iface (object, wincaps_propiface, TRUE, NULL); + if (object_info != NULL) + ret = get_all_object_properties (connection, message, object_info, object); + else +@@ -1656,13 +1869,19 @@ + g_warning ("Property get or set does not have a property name string as second arg\n"); + return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; + } +- dbus_message_iter_get_basic (&iter, &wincaps_propname); ++ ++ dbus_message_iter_get_basic (&iter, &requested_propname); + dbus_message_iter_next (&iter); + +- s = _dbus_gutils_wincaps_to_uscore (wincaps_propname); ++ s = _dbus_gutils_wincaps_to_uscore (requested_propname); + +- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object), +- s); ++ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (object), s); ++ ++ if (!check_property_access (connection, message, object, wincaps_propiface, requested_propname, s, setter)) ++ { ++ g_free (s); ++ return DBUS_HANDLER_RESULT_HANDLED; ++ } + + g_free (s); + +@@ -1695,7 +1914,7 @@ + { + ret = dbus_message_new_error_printf (message, + DBUS_ERROR_INVALID_ARGS, +- "No such property %s", wincaps_propname); ++ "No such property %s", requested_propname); + } + } + +@@ -1837,8 +2056,8 @@ + GClosure *closure; + char *s; + +- sigdata = propsig_iterate (sigdata, &iface, &signame); +- ++ sigdata = signal_iterate (sigdata, &iface, &signame); ++ + s = _dbus_gutils_wincaps_to_uscore (signame); + + id = g_signal_lookup (s, gtype); +@@ -2012,6 +2231,28 @@ + */ + + /** ++ * dbus_glib_global_set_disable_legacy_property_access: ++ * ++ * For historical reasons, DBus-GLib will allow read-only ++ * access to every GObject property of an object exported ++ * to the bus, regardless of whether or not the property ++ * is listed in the type info installed with ++ * dbus_g_object_type_install_info(). (Write access is ++ * denied however). ++ * ++ * If you wish to restrict even read-only access, you ++ * can call this method to globally change the behavior ++ * for the entire process. ++ * ++ * Since: 0.88 ++ */ ++void ++dbus_glib_global_set_disable_legacy_property_access (void) ++{ ++ disable_legacy_property_access = TRUE; ++} ++ ++/** + * dbus_g_object_type_install_info: + * @object_type: #GType for the object + * @info: introspection data generated by #dbus-glib-tool +@@ -2775,23 +3016,23 @@ + + sigdata = dbus_glib_internal_test_object_info.exported_signals; + g_assert (*sigdata != '\0'); +- sigdata = propsig_iterate (sigdata, &iface, &signame); ++ sigdata = signal_iterate (sigdata, &iface, &signame); + g_assert (!strcmp (iface, "org.freedesktop.DBus.Tests.MyObject")); + g_assert (!strcmp (signame, "Frobnicate")); + g_assert (*sigdata != '\0'); +- sigdata = propsig_iterate (sigdata, &iface, &signame); ++ sigdata = signal_iterate (sigdata, &iface, &signame); + g_assert (!strcmp (iface, "org.freedesktop.DBus.Tests.FooObject")); + g_assert (!strcmp (signame, "Sig0")); + g_assert (*sigdata != '\0'); +- sigdata = propsig_iterate (sigdata, &iface, &signame); ++ sigdata = signal_iterate (sigdata, &iface, &signame); + g_assert (!strcmp (iface, "org.freedesktop.DBus.Tests.FooObject")); + g_assert (!strcmp (signame, "Sig1")); + g_assert (*sigdata != '\0'); +- sigdata = propsig_iterate (sigdata, &iface, &signame); ++ sigdata = signal_iterate (sigdata, &iface, &signame); + g_assert (!strcmp (iface, "org.freedesktop.DBus.Tests.FooObject")); + g_assert (!strcmp (signame, "Sig2")); + g_assert (*sigdata == '\0'); +- ++ + + i = 0; + while (i < (int) G_N_ELEMENTS (name_pairs)) +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//test/core/my-object.c dbus-glib-0.84.new//test/core/my-object.c +--- dbus-glib-0.84//test/core/my-object.c 2010-01-12 11:18:03.000000000 -0600 ++++ dbus-glib-0.84.new//test/core/my-object.c 2011-05-25 16:31:22.000000000 -0500 +@@ -11,7 +11,10 @@ + enum + { + PROP_0, +- PROP_THIS_IS_A_STRING ++ PROP_THIS_IS_A_STRING, ++ PROP_NO_TOUCHING, ++ PROP_SUPER_STUDLY, ++ PROP_SHOULD_BE_HIDDEN + }; + + enum +@@ -53,7 +56,19 @@ + g_free (mobject->this_is_a_string); + mobject->this_is_a_string = g_value_dup_string (value); + break; +- ++ ++ case PROP_NO_TOUCHING: ++ mobject->notouching = g_value_get_uint (value); ++ break; ++ ++ case PROP_SUPER_STUDLY: ++ mobject->super_studly = g_value_get_double (value); ++ break; ++ ++ case PROP_SHOULD_BE_HIDDEN: ++ mobject->should_be_hidden = g_value_get_boolean (value); ++ break; ++ + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -75,7 +90,19 @@ + case PROP_THIS_IS_A_STRING: + g_value_set_string (value, mobject->this_is_a_string); + break; +- ++ ++ case PROP_NO_TOUCHING: ++ g_value_set_uint (value, mobject->notouching); ++ break; ++ ++ case PROP_SUPER_STUDLY: ++ g_value_set_double (value, mobject->super_studly); ++ break; ++ ++ case PROP_SHOULD_BE_HIDDEN: ++ g_value_set_boolean (value, mobject->should_be_hidden); ++ break; ++ + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -86,6 +113,7 @@ + my_object_init (MyObject *obj) + { + obj->val = 0; ++ obj->notouching = 42; + } + + static void +@@ -107,6 +135,30 @@ + _("Example of a string property"), + "default value", + G_PARAM_READWRITE)); ++ g_object_class_install_property (gobject_class, ++ PROP_NO_TOUCHING, ++ g_param_spec_uint ("no_touching", ++ _("Don't touch"), ++ _("Example of a readonly property (for export)"), ++ 0, 100, 42, ++ G_PARAM_READWRITE)); ++ ++ g_object_class_install_property (gobject_class, ++ PROP_SUPER_STUDLY, ++ g_param_spec_double ("super-studly", ++ _("In Studly Caps"), ++ _("Example of a StudlyCaps property"), ++ 0, 256, 128, ++ G_PARAM_READWRITE)); ++ ++ g_object_class_install_property (gobject_class, ++ PROP_SHOULD_BE_HIDDEN, ++ g_param_spec_boolean ("should-be-hidden", ++ _("A non-exported property"), ++ _("Example of a property we don't want exported"), ++ FALSE, ++ G_PARAM_READWRITE)); ++ + signals[FROBNICATE] = + g_signal_new ("frobnicate", + G_OBJECT_CLASS_TYPE (mobject_class), +@@ -760,6 +812,11 @@ + g_idle_add ((GSourceFunc)do_async_error, data); + } + ++void ++my_object_unsafe_disable_legacy_property_access (MyObject *obj) ++{ ++ dbus_glib_global_set_disable_legacy_property_access (); ++} + + extern GMainLoop *loop; + +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//test/core/my-object.h dbus-glib-0.84.new//test/core/my-object.h +--- dbus-glib-0.84//test/core/my-object.h 2010-01-12 11:18:03.000000000 -0600 ++++ dbus-glib-0.84.new//test/core/my-object.h 2011-05-25 16:31:22.000000000 -0500 +@@ -13,7 +13,10 @@ + { + GObject parent; + char *this_is_a_string; ++ guint notouching; + guint val; ++ gdouble super_studly; ++ gboolean should_be_hidden; + }; + + struct MyObjectClass +@@ -107,4 +110,6 @@ + + void my_object_async_throw_error (MyObject *obj, DBusGMethodInvocation *context); + ++void my_object_unsafe_disable_legacy_property_access (MyObject *obj); ++ + #endif +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//test/core/test-dbus-glib.c dbus-glib-0.84.new//test/core/test-dbus-glib.c +--- dbus-glib-0.84//test/core/test-dbus-glib.c 2010-01-27 12:46:40.000000000 -0600 ++++ dbus-glib-0.84.new//test/core/test-dbus-glib.c 2011-05-25 16:31:22.000000000 -0500 +@@ -324,38 +324,48 @@ + G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", + G_TYPE_INVALID, + DBUS_TYPE_G_MAP_OF_VARIANT, &hash, G_TYPE_INVALID)) +- lose_gerror ("Unexpected error for GetProperty call of base class interface\n", error); ++ lose_gerror ("Unexpected error for GetProperty call of base class interface", error); + g_clear_error (&error); + + if (!hash) + { + lose ("%s: Unexpected NULL hash table returned for GetAll call of base " +- "class interface\n", object_path); ++ "class interface", object_path); + } + +- if (g_hash_table_size (hash) != 1) ++ if (g_hash_table_size (hash) != 3) + { +- lose ("%s: Unexpected hash table size %d (expected 1) returned for GetAll " +- " call of base class interface\n", object_path, g_hash_table_size (hash)); ++ lose ("%s: Unexpected hash table size %d (expected 3) returned for GetAll " ++ " call of base class interface", object_path, g_hash_table_size (hash)); + } + value = g_hash_table_lookup (hash, "this_is_a_string"); + if (!value) + { + lose ("%s: Unexpected missing 'this_is_a_string' property for GetAll " +- "call of base class interface\n", object_path); ++ "call of base class interface", object_path); + } + if (!G_VALUE_HOLDS_STRING (value)) + { + lose ("%s: Unexpected wrong type for 'this_is_a_string' property for " +- "GetAll call of base class interface\n", object_path); ++ "GetAll call of base class interface", object_path); + } + foo = g_value_get_string (value); + if (!foo || strcmp (foo, expected_string_value)) + { + lose ("%s: Unexpected value for 'this_is_a_string' property for GetAll " +- "call of base class interface\n", object_path); ++ "call of base class interface", object_path); + } + ++ value = g_hash_table_lookup (hash, "no-touching"); ++ if (!value) ++ lose ("%s: Unexpected missing 'no-touching' property for GetAll " ++ "call of base class interface", object_path); ++ if (!G_VALUE_HOLDS_UINT (value)) ++ lose ("%s: Unexpected wrong type for 'no-touching' property for " ++ "GetAll call of base class interface", object_path); ++ if (g_value_get_uint (value) != 42) ++ lose ("%s: Unexpected wrong value \"%d\" for 'no-touching' property for " ++ "GetAll call of base class interface", object_path, g_value_get_uint (value)); + g_hash_table_destroy (hash); + hash = NULL; + } +@@ -1972,9 +1982,10 @@ + { + GSList *elt; + gboolean found_manyargs; +- ++ gboolean found_no_touching = FALSE; ++ + found_myobject = TRUE; +- ++ + found_manyargs = FALSE; + for (elt = interface_info_get_methods (iface); elt; elt = elt->next) + { +@@ -1989,6 +2000,23 @@ + } + if (!found_manyargs) + lose ("Missing method org.freedesktop.DBus.GLib.Tests.MyObject.ManyArgs"); ++ for (elt = interface_info_get_properties (iface); elt; elt = elt->next) ++ { ++ PropertyInfo *prop = elt->data; ++ ++ if (strcmp (property_info_get_name (prop), "no-touching") == 0) ++ { ++ if (property_info_get_access (prop) != PROPERTY_READ) ++ lose ("property no-touching had incorrect access %d", property_info_get_access (prop)); ++ else ++ { ++ found_no_touching = TRUE; ++ break; ++ } ++ } ++ } ++ if (!found_no_touching) ++ lose ("didn't find property \"no-touching\" in org.freedesktop.DBus.GLib.Tests.MyObject"); + } + else if (!found_fooobject && strcmp (interface_info_get_name (iface), "org.freedesktop.DBus.GLib.Tests.FooObject") == 0) + found_fooobject = TRUE; +@@ -2004,6 +2032,8 @@ + + /* Properties tests */ + property_proxy = dbus_g_proxy_new_from_proxy (proxy, DBUS_INTERFACE_PROPERTIES, NULL); ++ g_object_unref (proxy); ++ proxy = NULL; + + g_print ("Calling GetProperty (1)\n"); + { +@@ -2032,6 +2062,48 @@ + g_value_unset (&value); + } + ++ g_print ("Calling GetProperty of read-only property\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "no-touching", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed to complete GetProperty no-touching call", error); ++ g_assert (G_VALUE_HOLDS (&value, G_TYPE_UINT)); ++ g_assert (g_value_get_uint (&value) == 42); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling SetProperty (1)\n"); ++ { ++ GValue value = {0,}; ++ g_value_init (&value, G_TYPE_UINT); ++ g_value_set_uint (&value, 40); ++ if (dbus_g_proxy_call (property_proxy, "Set", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "no-touching", ++ G_TYPE_VALUE, &value, G_TYPE_INVALID, G_TYPE_INVALID)) ++ lose ("Unexpected success from SetProperty call for read-only value \"no-touching\""); ++ g_clear_error (&error); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling GetProperty of read-only property (again)\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "no-touching", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed to complete GetProperty call", error); ++ g_assert (G_VALUE_HOLDS (&value, G_TYPE_UINT)); ++ g_assert (g_value_get_uint (&value) == 42); ++ g_value_unset (&value); ++ } ++ + g_print ("Calling GetProperty (2)\n"); + { + GValue value = {0,}; +@@ -2046,7 +2118,46 @@ + g_value_unset (&value); + } + +- g_print ("Calling GetProperty (3)\n"); ++ g_print ("Calling GetProperty: SuperStudly\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "SuperStudly", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed to complete GetProperty call", error); ++ g_assert (G_VALUE_HOLDS (&value, G_TYPE_DOUBLE)); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling GetProperty: super-studly\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "super-studly", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed to complete GetProperty call", error); ++ g_assert (G_VALUE_HOLDS (&value, G_TYPE_DOUBLE)); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling GetProperty: super_studly\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "super_studly", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed to complete GetProperty call", error); ++ g_assert (G_VALUE_HOLDS (&value, G_TYPE_DOUBLE)); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling GetProperty on unknown property\n"); + { + GValue value = {0,}; + if (dbus_g_proxy_call (property_proxy, "Get", &error, +@@ -2054,13 +2165,68 @@ + G_TYPE_STRING, "SomeUnknownProperty", + G_TYPE_INVALID, + G_TYPE_VALUE, &value, G_TYPE_INVALID)) +- lose_gerror ("Unexpected success for GetProperty call of unknown property", error); ++ lose ("Unexpected success for GetProperty call of unknown property"); + + g_clear_error (&error); + } + +- g_object_unref (property_proxy); +- property_proxy = NULL; ++ /* These two are expected to pass unless we call disable_legacy_property_access */ ++ ++ g_print ("Calling GetProperty on not-exported property (legacy enabled)\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "should-be-hidden", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed GetProperty call of \"should-be-hidden\" property", error); ++ g_assert (G_VALUE_HOLDS_BOOLEAN (&value)); ++ g_assert (g_value_get_boolean (&value) == FALSE); ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling GetProperty on not-exported property (legacy enabled)\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "ShouldBeHidden", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed GetProperty call of \"ShouldBeHidden\" property", error); ++ ++ g_value_unset (&value); ++ } ++ ++ g_print ("Calling SetProperty on not-exported property (legacy enabled)\n"); ++ { ++ GValue value = {0,}; ++ g_value_init (&value, G_TYPE_BOOLEAN); ++ g_value_set_boolean (&value, TRUE); ++ if (dbus_g_proxy_call (property_proxy, "Set", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "should-be-hidden", ++ G_TYPE_VALUE, &value, ++ G_TYPE_INVALID, G_TYPE_INVALID)) ++ lose ("Unexpected success from SetProperty call of \"should-be-hidden\" property"); ++ g_value_unset (&value); ++ g_clear_error (&error); ++ } ++ ++ g_print ("Calling GetProperty on not-exported property (legacy enabled)\n"); ++ { ++ GValue value = {0,}; ++ if (!dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "should-be-hidden", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose_gerror ("Failed GetProperty call of \"should-be-hidden\" property", error); ++ g_assert (G_VALUE_HOLDS_BOOLEAN (&value)); ++ g_assert (g_value_get_boolean (&value) == FALSE); ++ g_value_unset (&value); ++ } + + /* Test GetAll */ + /* 'testing value' set earlier by the SetProperty tests */ +@@ -2080,6 +2246,64 @@ + */ + test_subclass_get_all (connection, "/org/freedesktop/DBus/GLib/Tests/MyTestObjectSubclass"); + ++ /* Now, call disable_legacy_property_access */ ++ ++ g_assert (proxy == NULL); ++ proxy = dbus_g_proxy_new_for_name_owner (connection, ++ "org.freedesktop.DBus.GLib.TestService", ++ "/org/freedesktop/DBus/GLib/Tests/MyTestObject", ++ "org.freedesktop.DBus.GLib.Tests.MyObject", ++ &error); ++ ++ if (!dbus_g_proxy_call (proxy, "UnsafeDisableLegacyPropertyAccess", &error, ++ G_TYPE_INVALID, G_TYPE_INVALID)) ++ lose_gerror ("Failed to invoke UnsafeDisableLegacyPropertyAccess", error); ++ ++ g_object_unref (proxy); ++ proxy = NULL; ++ ++ g_print ("Calling GetProperty on not-exported property (legacy *disabled*)\n"); ++ { ++ GValue value = {0,}; ++ if (dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "should-be-hidden", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose ("Unexpected success from GetProperty call of \"should-be-hidden\" property"); ++ g_clear_error (&error); ++ } ++ ++ g_print ("Calling GetProperty on not-exported property (legacy *disabled*)\n"); ++ { ++ GValue value = {0,}; ++ if (dbus_g_proxy_call (property_proxy, "Get", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "ShouldBeHidden", ++ G_TYPE_INVALID, ++ G_TYPE_VALUE, &value, G_TYPE_INVALID)) ++ lose ("Unexpected success from GetProperty call of \"ShouldBeHidden\" property"); ++ g_clear_error (&error); ++ } ++ ++ g_print ("Calling SetProperty on not-exported property (legacy *disabled*)\n"); ++ { ++ GValue value = {0,}; ++ g_value_init (&value, G_TYPE_BOOLEAN); ++ g_value_set_boolean (&value, FALSE); ++ if (dbus_g_proxy_call (property_proxy, "Set", &error, ++ G_TYPE_STRING, "org.freedesktop.DBus.GLib.Tests.MyObject", ++ G_TYPE_STRING, "should-be-hidden", ++ G_TYPE_VALUE, &value, ++ G_TYPE_INVALID, G_TYPE_INVALID)) ++ lose ("Unexpected success from SetProperty call of \"should-be-hidden\" property"); ++ g_value_unset (&value); ++ g_clear_error (&error); ++ } ++ ++ g_object_unref (property_proxy); ++ property_proxy = NULL; ++ + test_terminate_proxy1 = dbus_g_proxy_new_for_name_owner (connection, + "org.freedesktop.DBus.GLib.TestService", + "/org/freedesktop/DBus/GLib/Tests/MyTestObject", +diff -Nur -x '*.orig' -x '*~' dbus-glib-0.84//test/core/test-service-glib.xml dbus-glib-0.84.new//test/core/test-service-glib.xml +--- dbus-glib-0.84//test/core/test-service-glib.xml 2010-01-12 11:18:03.000000000 -0600 ++++ dbus-glib-0.84.new//test/core/test-service-glib.xml 2011-05-25 16:31:22.000000000 -0500 +@@ -3,6 +3,8 @@ + + + ++ ++ + + + +@@ -167,6 +169,9 @@ + + + ++ ++ ++ + + +