* ChangeLog: clean up my last entry a bit
[platform/upstream/dbus.git] / ChangeLog
index 53023dd..a131af2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,548 @@
+2005-08-17  John (J5) Palmieri  <johnp@redhat.com>
+       * ChangeLog: clean up my last entry a bit
+
+       * doc/introspect.xsl: New stylesheet for converting introspection data
+       into browser renderable xhtml. Contributed by Lennart Poettering.
+
+       * doc/introspect.dtd: Fixups in the introspect format from Lennart
+       Poettering.
+
+       * doc/dbus-tutorial.xml: 
+       - Add Colin Walter to the Authors section for authoring the GLib
+       section
+       - Add descriptions of the new signature and type functionality
+       in the Python complex type mapping section
+       - Add a sidenote on the new args matching functionality in 
+       the Python bindings
+       - Fixed up some of the examples to use the gobject.MainLoop
+       instead of gtk.main
+       
+       * python/_dbus.py:
+       (Bus::_create_args_dict): New. Converts a hash of arg matches
+       to a more useable format
+       (Bus::add_signal_receiver): add a **keywords parameter for catching
+       arg match parameters
+       (Bus::remove_signal_receiver): add a **keywords parameter for catching
+       arg match parameters
+       
+       * python/matchrules.py:
+       (MatchTree::exec_matches): Check for arg matches
+       (SignalMatchRule::add_args_match): New method
+       (SignalMatchRule::execute): Added args_list parameter as an optimization
+       so we don't have to marshal the args more than once
+       (SignalMatchRule::match_args_from_list): New method that checks to see
+       if the rule's arg matches match an argument list.  Only arguments
+       set in the rule are checked.
+       (SignalMatchRule::match_args_from_rule): New method that checks to see
+       if the rule's arg matches match another rule's.  All args have to match
+       in order for this method to return true.  If either rule has more args
+       then it is not a match.
+       (SignalMatchRule::is_match): Add args match
+       (SignalMatchRule::repr): Add args to the final output if they exist
+
+2005-08-17  Ross Burton  <ross@burtonini.com>
+
+       * glib/dbus-gproxy.c:
+       (dbus_g_proxy_call_no_reply): unref the message once sent.
+       (dbus_g_proxy_call): protect against NULL proxy.
+
+2005-08-16  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/__init__.py: Version updated (0, 43, 0)
+       
+       * python/dbus_bindings.pyx: 
+       - Fixed type objects to have self passed into __init__
+       - Added the Variant type
+       - Add the ability to specify types or signatures for Array, Variant 
+       and Dictionary
+       (Connection::send_with_reply_handlers): return a PendingCall object
+       (_pending_call_notification): handle the case when an error is returned 
+       without an error message in the body
+       (MessageIter::get_boolean): return True or False instead of an integer
+       (MessageIter::python_value_to_dbus_sig): add direct checking of types 
+       and add checks for objects with embeded signatures or types (Array, 
+       Variant and Dictionary)
+       (MessageIter::append_byte): handle case when the value is a dbus.Byte
+       (MessageIter::append_dict): handle embeded types or signatures
+       (MessageIter::append_array): handle embeded types or signatures
+       (MessageIter::append_variant): new method
+       
+       * python/proxies.py:
+       (DeferedMethod): New. Dummy executable object used when queuing calls 
+       blocking on introspection data
+       (ProxyMethod::__call__): add the timeout keyword for specifying longer 
+       or shorter timeouts for method calls
+       (ProxyObject): Add first pass at an introspection state machine
+       (ProxyObject::__init__): Add introspect keyword for turing off an on 
+       introspection. 
+       (ProxyObject::_Introspect): Internal Introspect call that bypasses 
+       the usual mechanisms for sending messages.  This is to avoid a deadlock
+       where the Intospect call would be queued waiting for the Introspect 
+       call to finish ;-)
+       (ProxyObject::_introspect_reply_handler): New.  This method is called 
+       when introspection returns with no error
+       (ProxyObject::_introspect_error_handler): New.  This method is called 
+       when introspection encounters an error
+       (ProxyObject::__getattr__): Code to handle different introspection 
+       states.  Queue async calls or block blocking calls if we are 
+       introspecting.  Pass through as normal if we are not or are done with 
+       introspecting.
+       
+       * python/service.py: Import signal and method from decorators.py
+
+       * python/types.py: Add Variant type
+
+2005-08-16  Colin Walters  <walters@verbum.org>
+
+       * glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
+       DBusError message is NULL.
+
+2005-08-09  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-errors.c: apply patch from Timo Teras to make a
+       malloc'd copy of the name parameter
+
+2005-08-09  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-message.c (dbus_message_set_reply_serial): print
+       warning if the reply serial is set to 0
+
+2005-08-04  Colin Walters  <walters@verbum.org>
+
+       * glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
+       (dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
+       (dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
+       (dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
+       (dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
+       (dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
+       (dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
+       * glib/dbus-gvalue.h (dbus_g_value_types_init)
+       (dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
+       (dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
+       
+       Prefix name with _ to ensure they're not exported.  All callers
+       updated.
+
+       * glib/dbus-gvalue.c (typecode_to_gtype)
+       (dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
+       (signature_iter_to_g_type_dict)
+       (signature_iter_to_g_type_array)
+       (dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
+       (dbus_gtypes_from_arg_signature):
+       Move to dbus-gsignature.c.
+
+       * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
+       dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
+       (dbus_binding_tool_output_glib_client): Ditto.
+
+       * glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
+       and dbus-gsignature.h
+
+       * test/glib/test-service-glib.c (my_object_rec_arrays): Delete
+       unused variable.
+
+2005-08-03  Colin Walters  <walters@verbum.org>
+
+       * glib/dbus-gobject.c: Add tests on hardcoded object info; this should
+       catch any incompatible changes accidentally made.
+
+2005-08-03  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
+       typo, from Julien Puydt
+
+       * bus/connection.c (bus_connection_disconnected): we were always
+       doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
+
+2005-08-01  Colin Walters  <walters@verbum.org>
+
+       Patch from Joe Markus Clarke:   
+       
+       * glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
+       use-after-free.
+
+2005-08-01  Colin Walters  <walters@verbum.org>
+       
+       Patch from Joe Markus Clarke:   
+       
+       * tools/dbus-send.c (main): 
+       
+       Don't use C99 style initializers (bug #3933).
+       
+2005-08-01  Colin Walters  <walters@verbum.org>
+
+       Patch from Joe Markus Clarke:   
+
+       * glib/dbus-gvalue.c (dbus_g_value_types_init): 
+       * glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
+       * glib/dbus-gobject.c (write_interface):
+
+       Don't use C99 style initializers (bug #3933).
+
+2005-07-31  Havoc Pennington  <hp@redhat.com>
+
+       * tools/dbus-viewer.c (load_child_nodes): fix invocation of
+       dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
+
+2005-07-30  Havoc Pennington  <hp@redhat.com>
+
+       * fix a bunch of Doxygen warnings and mistakes
+
+2005-07-30  Havoc Pennington  <hp@redhat.com>
+
+       * dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
+       DBUS_BUILD_TESTS since it's now used in production code
+
+2005-07-29  Havoc Pennington  <hp@redhat.com>
+
+       * test/glib/test-profile.c (write_junk): initialize the junk
+       buffer so valgrind doesn't have a breakdown
+
+2005-07-29  Havoc Pennington  <hp@redhat.com>
+
+       * bus/signals.c (bus_signals_test): add match_rule_equal() tests
+       (match_rule_matches): remove unused arg
+       (test_matching): add tests for match_rule_matches()
+
+       * bus/signals.c (bus_match_rule_parse_arg_match): add ability to
+       do arg0='foo' arg5='bar' in the match rules
+       (match_rule_matches): don't match if the arg0='foo' doesn't match.
+
+       * dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
+
+2005-07-29  Ross Burton  <ross@openedhand.com>
+
+       * dbus/dbus-connection.c:
+       Don't create a DBusCondVar which is never used.
+
+2005-07-27  Ross Burton  <ross@openedhand.com>
+
+       * dbus/dbus-message.c:
+       Reduce the size of the maximum cached message to 10K.
+
+2005-07-25  Ross Burton  <ross@openedhand.com>
+
+       * glib/dbus-gproxy.c:
+       Remove matches when all proxies are unregistered.
+
+2005-07-24  Colin Walters  <walters@verbum.org>
+
+       * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
+       typedata; recursive arrays won't have it.
+
+       * test/glib/test-dbus-glib.c:
+       * test/glib/test-service-glib.c:
+       * test/glib/test-service-glib.xml: Add recursive arrays tests.
+       
+2005-07-20  John (J5) Palmieir  <johnp@redhat.com>
+
+       * python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
+       proxies.py, service.py: Cleanup of code after running it through the
+       pyflakes code checker mostly dealing with undefined names.  
+       (Bug #3828, Patch from Anthony Baxter <anthony@interlink.com.au>)
+
+2005-07-17  John (J5) Palmieri  <johnp@redhat.com>
+
+       * NEWS: Update to 0.35.2
+
+2005-07-17  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/_dbus.py: Remove import of the dbus.services
+       module as it no longer exists (patch from Dimitur Kirov)
+
+       * python/service.py (Object::__init__): Fixed typo
+       s/name/bus_name (patch from Dimitur Kirov)
+
+       * python/examples/example-signal-emitter.py: import dbus.glib
+       to get the main loop and use glib mainloop instead of gtk so
+       X doesn't have to be running.
+
+       * python/examples/example-signal-recipient.py: import dbus.glib
+       to get the main loop and use glib mainloop instead of gtk so
+       X doesn't have to be running. Import the decorators module
+       directly.
+
+       * test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
+       didn't pick up on but are needed to build
+
+       * configure.in: upped version to 0.35.2
+
+       * bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
+       added Colin Walters' SELinux API rename patch from head 
+       s/unix sercurity context/selinux security context/
+
+2005-07-16  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/Makefile.am: dbus_binding.pxd.in should be included 
+       in EXTRA_DIST not dbus_binding.pxd
+       fix up $(srcdir) hopefully for the last time
+
+       * NEWS: Update to 0.35.1
+
+2005-07-16  Colin Walters  <walters@verbum.org>
+
+       * bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
+       from bus_driver_handle_get_connection_unix_security_context.  Update for
+       error usage.
+       (message_handlers): Update for renames.
+
+       * bus/selinux.c (bus_selinux_allows_send): Handle OOM on
+       _dbus_string_init failure correctly.
+       (bus_selinux_append_context): Convert SID to context.  Append it
+       as a byte array.
+       (bus_selinux_shutdown): Handle the case where bus_selinux_full_init
+       hasn't been called.
+
+       * bus/selinux.h: Update prototype.
+
+       * dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
+       from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
+
+2005-07-15  Colin Walters  <walters@verbum.org>
+
+       * doc/TODO: Add note about convenience wrappers.
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * NEWS: Update to 0.35
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
+       so distcheck doesn't fail
+
+       * glib/examples/Makefile.am: Add example-service.xml and 
+       example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
+
+       * glib/examples/statemachine/Makefile.am: Add statemachine.xml and
+       statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
+
+       * python/Makefile.am: Preprend $(srcdir)/ to source files so the
+       compiler looks in the right places during distcheck
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * glib/example/Makefile.am: Fix a typo which cause make distcheck
+       to fail
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/examples/example-service.py,
+       python/examples/example-signal-emitter.py: Fixed up examples
+       for API changes
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/__init__.py: Upped to version (0,42,0) because of
+       the API change
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * ChangeLog: fix date in last entry
+
+       * configure.in, bus/system.conf.in: add the ability to configure 
+       the system bus user at compiletime with the --with-dbus-user flag
+       (patch from Kristof Vansant)
+
+2005-07-15  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/dispatch.c, test/test-service.c: Add testcase
+       for sending messages to oneself (TODO item).
+
+       * python/service.py (class Object): Swap ordering of bus_name 
+       and object_path parameters to better support inheritance.
+
+       * doc/dbus-tutorial.xml: change Python docs to reflect change
+       in parameter ordering and fix the inheritance section.
+
+       * doc/TODO: remove sending message to oneself TODO item
+
+2005-07-15  Ross Burton  <ross@openedhand.com>
+
+       * glib/dbus-gproxy.c:
+       Fix a leak when calling methods via the proxy.
+
+2005-07-15  Colin Walters  <walters@verbum.org>
+
+       * bus/selinux.c (bus_selinux_append_context): Wrap in
+       HAVE_SELINUX.
+
+2005-07-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/_dbus.py (Bus::remove_signal_receiver):
+       don't add a callback to the match if none has been passed in
+       
+       * python/matchrules.py (SignalMatchTree::remove): if the rule
+       being matched does not have a callback treat it as a wildcard
+       fix matching logic
+
+       * doc/dbus-tutorial.xml: Add Python tutorial
+
+2005-07-14  Colin Walters  <walters@verbum.org>
+
+       * bus/driver.c
+       (bus_driver_handle_get_connection_unix_security_context): New function.
+       (message_handlers): Add.
+
+       * bus/selinux.c (bus_selinux_append_context): New function; appends
+       security context to message.
+
+       * bus/selinux.h: Prototype.
+
+       * dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
+
+2005-07-14  John (J5) Palmieri  <johnp@redhat.com>
+
+       * bus/activation.c: clean up all tabs to be 8 spaces 
+       (bus_activation_activate_service): make sure we clean up
+       if activation fails
+
+       * bus/dispatch.c: clean up all tabs to be 8 spaces 
+       (check_shell_fail_service_auto_start): New function
+       tests to make sure we get fail properly when trying to auto start a service
+       with a faulty command line
+       (check_shell_service_success_auto_start): New function tests to make sure
+       auto started services get the arguments on the command line
+
+       * test/test-shell-service.c: Added service for testing auto-starting with 
+       command line arguments
+
+       * test/data/valid-service-files/debug-shell-echo-fail.service.in, 
+       test/data/valid-service-files/debug-shell-echo-success.service.in:
+       Added service files for testing auto-starting with command line arguments
+
+       * */.cvsignore: added a bunch of generated files to various .cvsignore files
+
+2005-07-14  Rodrigo Moya  <rodrigo@novell.com>
+
+       * dbus/dbus-shell.[ch]: copy/pasted code from GLib.
+       
+       * dbus/Makefile.am: added new files to build.
+
+       * bus/activation.c (bus_activation_activate_service): support
+       activation commands with parameters.
+
+       * test/shell-test.c: added test program for the shell parsing
+       code.
+
+2005-07-13  David Zeuthen  <davidz@redhat.com>
+
+       * tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
+       64 bit signed and unsigned parameters
+
+2005-07-13  John (J5) Palmieri  <johnp@redhat.com>
+
+       * python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
+
+       * python/service.py (class Name): renamed BusName to make it clearer
+       what the object is for (a name on the bus)
+
+       * python/examples/example-service.py,
+       python/examples/example-signal-emitter.py: change the Name object to
+       BusName
+
+2005-07-12  Colin Walters  <walters@verbum.org>
+
+       Patch from Jim Gettys <Jim.Gettys@hp.com>.
+
+       * tools/dbus-launch.c: Include sys/select.h.
+
+2005-07-12  John (J5) Palmieri  <johnp@redhat.com>
+       * python/dbus_bindings.pyx.in: removed
+
+       * python/dbus_bindings.pyx: Added.
+       - Fixed some memleaks (patch from 
+       Sean Meiners <sean.meiners@linspireinc.com>)
+       - Broke out the #include "dbus_h_wrapper.h" and put it in its
+       own pxd file (Pyrex definition)
+       - Broke out glib dependancies into its own pyx module
+       
+       * python/dbus_bindings.pdx: Added.
+       - Defines C class Connection for exporting to other modules
+
+       * python/dbus_glib_bindings.pyx: Added.
+       - New module to handle lowlevel dbus-glib mainloop integration
+
+       * python/glib.py: Added.
+       - Registers the glib mainloop when you import this module
+
+       * python/services.py: Removed (renamed to service.py)
+       
+       * python/service.py: Added.
+       - (class Server): renamed Name
+
+       * python/__init__.py: Bump ro version (0,41,0)
+       -don't import the decorators or service module
+       by default.  These now reside in the dbus.service namespace
+
+       * python/_dbus.py (Bus::__init__): Add code run the main loop 
+       setup function on creation 
+
+       * python/examples/example-service.py,
+       python/examples/example-signal-emitter.py: update examples
+
+       * python/examples/gconf-proxy-service.py,
+       python/examples/gconf-proxy-service2.py: TODO fix these up
+
+       * doc/TODO: Addition
+       - Added a Python Bindings 1.0 section
+       - added "Add match on args or match on details to match rules"
+
+
+2005-07-12  Colin Walters  <walters@verbum.org>
+
+       * glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
+       (statemachine-glue.h): 
+       * glib/examples/Makefile.am (example-service-glue.h) 
+       (example-signal-emitter-glue.h): 
+       * glib/Makefile.am (dbus-glib-error-switch.h): 
+       Add libtool --mode=execute so we use the built library instead
+       of any installed one.
+
+2005-07-11  Colin Walters  <walters@verbum.org>
+
+       * glib/dbus-gvalue.c (struct _DBusGValue): Delete.
+       (dbus_g_value_types_init): Remove assertion.
+       (dbus_g_value_get_g_type, dbus_g_value_open)
+       (dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
+       (dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
+       functions related to DBusGValue.  Now we marshal/demarshal
+       structures as GValueArray.
+       (dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
+       structures.
+       (signature_iter_to_g_type_array): Don't call
+       signature_iter_to_g_type_struct.
+       (signature_iter_to_g_type_struct): Delete.
+       (dbus_gvalue_to_signature): Delete.
+       (dbus_gvalue_to_signature): New function with same name as other
+       one; we can convert structures to signatures.
+       (demarshal_valuearray): New function.
+       (get_type_demarshaller): Use it.
+       (demarshal_recurse): Delete.
+       (marshal_proxy): New function.
+       (marshal_map): Warn if we can't determine signature from type.
+       (marshal_collection_ptrarray): Ditto.
+       (marshal_collection_array): Ditto.
+       (get_type_marshaller): Use marshal_valuearray.
+       (marshal_recurse): Delete.
+       (_dbus_gvalue_test): Add some tests.
+
+       * dbus/dbus-glib.h (struct _DBusGValueIterator): 
+       (dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
+       (dbus_g_value_open, dbus_g_value_iterator_get_value)
+       (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
+       (dbus_g_value_free): Remove prototypes.
+
+       * glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
+       G_TYPE_VALUE_ARRAY.
+
+       * glib/examples/example-service.c:
+       * glib/examples/example-client.c: Implement GetTuple.
+
+       * test/glib/test-dbus-glib.c:
+       * test/glib/test-service-glib.c:
+       * test/glib/test-service-glib.xml: Add structure tests.
+
 2005-07-10  Colin Walters  <walters@verbum.org>
 
        * doc/TODO: Knock off some GLib items with this patch.