X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=b56b77b7c3320557ca4e35c6601ac7e0108ebc26;hb=8bc62a2864e5e5897cc961bd1055b35e3c8d0b94;hp=fb9199bd2379f0abc27f3ade2e00cfcaa797b7fc;hpb=05e64261801e2d24d75eccc986713f71fdff42b4;p=platform%2Fupstream%2Fdbus.git diff --git a/ChangeLog b/ChangeLog index fb9199b..b56b77b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1621 @@ +2004-05-15 Owen Fraser-Green + + * mono/dbus-sharp.dll.config.in: Added for GAC + * mono/dbus-sharp.snk: Added for GAC + * mono/Assembly.cs.in: Added for GAC + * mono/Makefile.am: Changes for GAC installation + * configure.in: Added refs for dbus-sharp.dll.config.in and + Assembly.cs.in. More fixes for mono testing + * mono/example/Makefile.am: Changed var to CSC + * Makefile.am: Changed flag name to DBUS_USE_CSC + +2004-05-15 Owen Fraser-Green + + * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order + * mono/doc/*: Added documentation framework + * configure.in: Added monodoc check + * README: Added description of mono configure flags + +2004-05-11 John (J5) Palmieri : + + * doc/dbus-specification.xml: Added a "Required" column to the + header fields table and changed the "zero or more" verbage in + the above paragraph to read "The header must contain the required + named header fields and zero or more of the optional named header + fields". + * test/data/invalid-messages/*.message: Added the required PATH + named header field to the tests so that they don't fail on + 'Missing path field' + +2004-05-07 John (J5) Palmieri + + * python/dbus-bindings.pyx.in: Stopped the bindings from trashing + the stack by implicitly defining variable and parameter types and + removing the hack of defining C pointers as python objects and later + casting them. + +2004-05-02 Owen Fraser-Green + + * mono/Makefile.am: Removed test-dbus-sharp.exe from all target + +2004-05-01 Owen Fraser-Green + + * mono/DBusType/Dict.cs: Handle empty dicts + * mono/DBusType/Array.cs: Handle empty arrays + * mono/Arguments.cs: Handle empty arguments + +2004-04-30 Owen Fraser-Green + + * dbus-sharp.pc.in: Modified to include include Libs and Requires + field + +2004-04-25 Kristian Høgsberg + + * test/data/valid-messages/standard-*.message: Update message + test scripts to new header field names. + +2004-04-22 John (J5) Palmieri + + * test/break-loader.c (randomly_do_n_things): tracked down buffer + overflow to times_we_did_each_thing array which would chop off the + first character of the failure_dir string. Increased the size of + the array to 7 to reflect the number of random mutation functions + we have. + +2004-04-21 Kristian Høgsberg + + * dbus/dbus-server-unix.c (unix_finalize): Don't unref + unix_server->watch here, it is unreffed in disconnect. + (_dbus_server_new_for_tcp_socket): convert NULL host to + "localhost" here so we don't append NULL to address. + + * dbus/dbus-server.c (_dbus_server_test): Add test case for + various addresses, including tcp with no explicit host. + +2004-04-21 Olivier Andrieu + + * dbus/dbus-message.c (decode_header_data, decode_string_field): + fix incorrect setting of .name_offset in the HeaderField (it was + off by two bytes, positioned right after the name and typecode) + + * bus/bus.c (bus_context_new, bus_context_unref): test before + calling dbus_server_free_data_slot and _dbus_user_database_unref + in case of an error. + + * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed + by libdbus-gtool. + +2004-04-19 Kristian Høgsberg + + * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use + _dbus_poll() instead of select(). + +2004-04-15 Jon Trowbridge + + * bus/main.c (signal_handler): Reload the configuration files + on SIGHUP. + (main): Set up our SIGHUP handler. + + * bus/bus.c (struct BusContext): Store the config file, user and + fork flag in the BusContext. + (process_config_first_time_only): Added. Contains the code + (previously in bus_context_new) for setting up the BusContext from + the BusConfigParser that should only be run the first time the + config files are read. + (process_config_every_time): Added. Contains the code (previously + in bus_context_new) for setting up the BusContext from the + BusConfigParser that should be run every time the config files are + read. + (load_config): Added. Builds a BusConfigParser from the config + files and passes the resulting structure off to + process_config_first_time_only (assuming this is the first time) + and process_config_every_time. + (bus_context_new): All of the config-related code has been moved + to process_config_first_time_only and process_config_every_time. + Now this function just does the non-config-related initializations + and calls load_config. + (bus_context_reload_config): Added. + +2004-04-15 Olivier Andrieu + + * bus/driver.c (bus_driver_handle_get_service_owner): + implement a GetServiceOwner method. + * doc/dbus-specification.xml: document it. + * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error. + + * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner): + implement, using the bus GetServiceOwner method. + + * test/glib/test-dbus-glib.c: + use dbus_gproxy_new_for_service_owner so that we can receive the + signal. + +2004-04-15 John (J5) Palmieri + + * dbus/dbus-internals.c, dbus/dbus-message-builder.c, + dbus/dbus-message.c, dbus/dbus-protocol.h + (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION + + * dbus/dbus-internals.c, dbus/dbus-message-builder.c, + dbus/dbus-message.c, dbus/dbus-protocol.h + (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER + + * dbus/dbus-internals.c (_dbus_header_field_to_string): + DBUS_HEADER_FIELD_DESTINATION resolves to "destination" + DBUS_HEADER_FIELD_SENDER resolves to "sender" + + * doc/dbus-specification.xml (Header Fields Table): + s/SERVICE/DESTINATION + s/SENDER_SERVICE/SENDER + + +2004-04-14 Olivier Andrieu + + * test/glib/test-dbus-glib.c (timed_exit): fail the test after + a few seconds. + +2004-04-13 Michael Meeks + + * glib/dbus-gobject.c (handle_introspect): split out + (introspect_properties): this. + (handle_introspect): implement this. + + * test/glib/Makefile.am: use the absolute path so the bus + daemon's chdir ("/") doesn't kill us dead. + + * configure.in: subst ABSOLUTE_TOP_BUILDDIR + +2004-04-12 Jon Trowbridge + + * bus/config-parser.c (struct BusConfigParser): Added + included_files field. + (seen_include): Added. Checks whether or not a file has already + been included by any parent BusConfigParser. + (bus_config_parser_new): Copy the parent's included_files. + (include_file): Track which files have been included, and fail on + circular inclusions. + (process_test_valid_subdir): Changed printf to report if we are + testing valid or invalid conf files. + (all_are_equiv): Changed printf to be a bit clearer about + what we are actually doing. + (bus_config_parser_test): Test invalid configuration files. + +2004-04-09 Jon Trowbridge + + * bus/config-parser.c (bus_config_parser_new): Added a 'parent' + argument. If non-null, the newly-constructed BusConfigParser will + be initialized with the parent's BusLimits instead of the default + values. + (include_file): When including a config file, pass in + the current parser as the parent and then copy the BusLimits + from the included BusConfigParser pack to the current parser. + (process_test_valid_subdir): Renamed from process_test_subdir. + (process_test_equiv_subdir): Added. Walks through a directory, + descending into each subdirectory and loading the config files + it finds there. If any subdirectory contains two config files + that don't produce identical BusConfigParser structs, fail. + For now, the BusConfigParser's BusPolicies are not compared. + (bus_config_parser_test): Call both process_test_valid_subdir and + process_test_equiv_subdir. + + * bus/config-loader-libxml.c (bus_config_load): Take a parent + argument and pass it along to the call to bus_config_parser_new. + Also made a few small changes to allow this code to compile. + + * bus/config-loader-expat.c (bus_config_load): Take a parent + argument and pass it along to the call to bus_config_parser_new. + + * bus/bus.c (bus_context_new): Load the config file + with a NULL parent argument. + +2004-03-29 Michael Meeks + + * glib/dbus-gobject.c (introspect_properties): split + out, fix mangled 'while' flow control. + (introspect_signals): implement. + (handle_introspect): update. + +2004-03-29 Michael Meeks + + * glib/dbus-gobject.c (set_object_property): split out / + re-work, use the property type, and not the message type(!) + (get_object_property): ditto. + + * glib/dbus-gvalue.c (dbus_gvalue_demarshal), + (dbus_gvalue_marshal): make this code re-usable, needed + for signals too, also on both proxy and server side. + Re-write for more efficiency / readability. + +2004-03-29 Michael Meeks + + * dbus/dbus-message.c + (dbus_message_new_error_printf): impl. + + * dbus/dbus-connection.c + (dbus_connection_unregister_object_path): fix warning. + + * configure.in: fix no-mono-installed situation. + +2004-03-27 Havoc Pennington + + Patch from Timo Teräs: + + * tools/dbus-send.c (main): if --print-reply, assume type is + method call; support boolean type args + + * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a + bunch of memleak and logic bugs + +2004-03-23 Owen Fraser-Green + + * mono/Arguments.cs: + * mono/Introspector.cs: + * mono/Handler.cs: + * mono/InterfaceProxy.cs: + * mono/Message.cs + * mono/ProxyBuilder.cs: + * mono/Service.cs: + Added InterfaceProxy class to avoid building proxies for every + object. + + * dbus-message.h: + * dbus-message.c (dbus_message_append_args_valist) + (dbus_message_iter_get_object_path) + (dbus_message_iter_get_object_path_array) + (dbus_message_iter_append_object_path) + (dbus_message_iter_append_object_path_array): + Added object_path iter functions to handle OBJECT_PATH arguments + +2004-03-23 Owen Fraser-Green + + First checkin of mono bindings. + * configure.in: + * Makefile.am: + Build stuff for the bindings + * dbus-sharp.pc.in: Added for pkgconfig + +2004-03-21 Havoc Pennington + + * test/test-service.c (main): remove debug spew + +2004-03-21 Olivier Andrieu + + * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty + arrays + + * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init) + (dbus_message_iter_init_array_iterator) + (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to + indicate whether the iterator is empty + + * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler + warnings + +2004-03-19 Havoc Pennington + + * NEWS: 0.21 updates + + * configure.in: 0.21 + + * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED + + * python/Makefile.am: change to avoid dist of dbus_bindings.c so + you don't need pyrex to make dist + + * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to + sources; run moc + +2004-03-18 Richard Hult + + * dbus/dbus-message.c (dbus_message_get_auto_activation) + (dbus_message_set_auto_activation): Add doxygen docs. + +2004-03-16 Richard Hult + + * bus/activation.c: (bus_activation_service_created), + (bus_activation_send_pending_auto_activation_messages), + (bus_activation_activate_service): + * bus/activation.h: + * bus/dispatch.c: (bus_dispatch), + (check_nonexistent_service_auto_activation), + (check_service_auto_activated), + (check_segfault_service_auto_activation), + (check_existent_service_auto_activation), (bus_dispatch_test): + * bus/driver.c: (bus_driver_handle_activate_service): + * bus/services.c: (bus_registry_acquire_service): + * dbus/dbus-message.c: (dbus_message_set_auto_activation), + (dbus_message_get_auto_activation): + * dbus/dbus-message.h: + * dbus/dbus-protocol.h: Implement auto-activation. + + * doc/dbus-specification.xml: Add auto-activation to the spec. + +2004-03-12 Olivier Andrieu + + * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): + fix a bug with CUSTOM types. + + * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add + a unit test for this bug (used to fail). + +2004-03-12 Mikael Hallendal + + * bus/activation.c: + (babysitter_watch_callback): notify all pending activations waiting for + the same exec that the activation failed. + (bus_activation_activate_service): shortcut the activation if we + already waiting for the same executable to start up. + +2004-03-12 Mikael Hallendal + + * bus/activation.c: + - Added service file reloading. + Each service files directory is kept in an hash table in + BusActivation and each BusActivationEntry knows what .service-file it + was read from. So when you try to activate a service the bus will + check if it's been updated, removed or if new .service-files has + been installed. + - Test code at the bottom for the service file reloading. + * bus/test-main.c: (main): + * bus/test.h: + - added service reloading test. + * dbus/dbus-sysdeps.c: + * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added. + +2004-03-08 Michael Meeks + + * dbus/dbus-connection.c (_dbus_connection_block_for_reply): + bail immediately if disconnected, to avoid busy loop. + + * dbus/dbus-message.c (dbus_message_iter_get_args_valist): + cleanup cut/paste/inefficiency. + +2004-03-01 David Zeuthen + + * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a + bug where args were used twice. This bug resulted in a segfault + on a Debian/PPC system when starting the messagebus daemon. Include + dbus-sysdeps.h for DBUS_VA_COPY + + * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib + + * configure.in: Check for va_copy; define DBUS_VA_COPY to the + appropriate va_copy implementation. From GLib + +2004-02-24 Joe Shaw + + * bus/services.c (bus_registry_acquire_service): We need to pass + in the service name to dbus_set_error() to prevent a crash. + +2003-12-26 Anders Carlsson + + * AUTHORS: Reveal my True identity. + +2003-12-17 Mikael Hallendal + + * dbus/dbus-message.c: (dbus_message_append_args_valist): + - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg. + +2003-12-13 Mikael Hallendal + + * doc/TODO: Added not about better error check of configuration files. + +2003-12-02 Richard Hult + + * Update AFL version to 2.0 throughout the source files to reflect + the update that was done a while ago. + +2003-12-02 Richard Hult + + * dbus/dbus-message.c (dbus_message_iter_append_dict): Set + wrote_dict_key to FALSE on the iter that the dict is appended to, + just like when appending other types. Fixes a bug where a dict + couldn't be put inside a dict. + (dbus_message_iter_append_dict_key): Fix typo in warning message. + (message_iter_test, _dbus_message_test): Add test case for dict + inside dict. + +2003-12-01 David Zeuthen + + * python/dbus.py: Add the actual message when calling the reciever + of a signal such that parameters can be inspected. Add the method + remove_signal_receiver + +2003-11-26 Mikael Hallendal + + * bus/*.[ch]: + * dbus/*.[ch]: + * glib/*.[ch]: Made ref functions return the pointer + +2003-11-25 Zack Rusin + + * qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer, + + * qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer + wrappers, + + * qt/connection.h, qt/connection.cpp: Adjusting to changes in + the Integrator and to better fit with the server, + +2003-11-24 Zack Rusin + + * qt/connection.h, qt/connection.cpp: removing initDbus method since + the integrator handles it now + + * qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts, + since QTimer wasn't really meant to be used the way DBusTimeout is + +2003-11-24 Zack Rusin + + * qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding + Integrator class which integrates D-BUS with the Qt event loop, + + * qt/connection.h, qt/connection.cpp: Move all the code which + was dealing with D-BUS integration to the Integrator class, + and start using Integrator, + +2003-11-23 Zack Rusin + + * qt/connection.h, qt/connection.cpp: Adding the DBusConnection + wrapper + + * qt/message.h, qt/message.cpp: updating to the current D-BUS api, + switching namespaces to DBusQt, reworking the class, + + * Makefile.cvs: switching dependencies so that it matches KDE + schematics, + + * qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to + the library + +2003-11-19 Havoc Pennington + + * NEWS: update + + * configure.in: bump version to 0.20 + + * configure.in (have_qt): add yet another place to look for qt + (someone hand trolltech a .pc file...) + +2003-11-01 Havoc Pennington + + * doc/dbus-specification.xml: add state machine docs on the auth + protocol; just a first draft, I'm sure it's wrong. + +2003-10-28 David Zeuthen + + * python/dbus_bindings.pyx.in: add get_dict to handle dictionaries + return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h + +2003-10-28 Havoc Pennington + + * dbus/dbus-message.c (get_next_field): delete unused function + +2003-10-28 Havoc Pennington + + * bus/expirelist.c (do_expiration_with_current_time): detect + failure of the expire_func due to OOM + + * bus/connection.c (bus_pending_reply_expired): return FALSE on OOM + + * bus/dispatch.c (check_send_exit_to_service): fix to handle the + NoReply error that's now created by the bus when the service exits + +2003-10-28 Havoc Pennington + + * dbus/dbus-message.c (_dbus_message_test): enable and fix the + tests for set_path, set_interface, set_member, etc. + + * dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes + + * dbus/dbus-message.c (set_string_field): always just delete and + re-append the field; accept NULL for deletion + (re_align_fields_recurse): reimplement + +2003-10-26 Havoc Pennington + + * dbus/dbus-connection.c: fix docs to properly describe the + disconnected message + (_dbus_connection_notify_disconnected): remove this function; + we can't synchronously add the disconnected message, we have to + do it after we've queued any remaining real messages + (_dbus_connection_get_dispatch_status_unlocked): queue the + disconnect message only if the transport has finished queueing all + its real messages and is disconnected. + (dbus_connection_disconnect): update the dispatch status here + +2003-10-22 Havoc Pennington + + * bus/bus.c (bus_context_check_security_policy): fix up assertion + + * bus/connection.c (bus_transaction_send_from_driver): set the + destination to the connection's base service + +2003-10-20 Havoc Pennington + + hmm, make check is currently not passing. + + * doc/dbus-specification.xml: add requirement that custom type + names follow the same rules as interface names. + + * dbus/dbus-protocol.h: change some of the byte codes, to avoid + duplication and allow 'c' to be 'custom'; dict is now 'm' for + 'map' + + * doc/dbus-specification.xml: update type codes to match + dbus-protocol.h, using the ASCII byte values. Rename type NAMED to + CUSTOM. Add type OBJECT_PATH to the spec. + +2003-10-17 Havoc Pennington + + * bus/driver.c (create_unique_client_name): use "." as separator + in base service names instead of '-' + + * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul + byte at the end of the string + + * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add + optimization macros since string validation seems to be a slow + point. + + * doc/dbus-specification.xml: restrict valid + service/interface/member/error names. Add test suite code for the + name validation. + + * dbus/dbus-string.c: limit service/interface/member/error names + to [0-9][A-Z][a-z]_ + + * dbus/dbus-connection.c (dbus_connection_dispatch): add missing + format arg to verbose spew + + * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of + memory, return instead of g_error + + * test/test-service.c (path_message_func): support emitting a + signal on request + + * dbus/dbus-bus.c (init_connections_unlocked): only fill in + activation bus type if DBUS_BUS_ACTIVATION was set; default to + assuming the activation bus was the session bus so that services + started manually will still register. + (init_connections_unlocked): fix so that in OOM situation we get + the same semantics when retrying the function + + * test/test-service.c (main): change to use path registration, to + test those codepaths; register with DBUS_BUS_ACTIVATION rather + than DBUS_BUS_SESSION + +2003-10-16 Havoc Pennington + + * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS + + * Makefile.am (GCOV_DIRS): remove "test", we don't care about test + coverage of the tests + (coverage-report.txt): don't move the .da and .bbg files around + +2003-10-16 Havoc Pennington + + * bus/bus.c (struct BusContext): remove struct field I didn't mean + to put there + +2003-10-16 Havoc Pennington + + * bus/connection.c (bus_pending_reply_expired): either cancel or + execute, not both + (bus_connections_check_reply): use unlink, not remove_link, as we + don't want to free the link; fixes double free mess + + * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case + where no reply was received + + * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock): + fix a refcount leak + + * bus/signals.c (match_rule_matches): add special cases for the + bus driver, so you can match on sender/destination for it. + + * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if + DBUS_PRINT_BACKTRACE is set + + * dbus/dbus-internals.c: add pid to assertion failure messages + + * dbus/dbus-connection.c: add message type code to the debug spew + + * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want + sender=foo not service=foo + + * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the + session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use + DBUS_ACTIVATION_ADDRESS instead + + * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS, + DBUS_SYSTEM_BUS_ADDRESS if appropriate + + * bus/bus.c (bus_context_new): handle OOM copying bus type into + context struct + + * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function + (dbus_message_iter_get_object_path_array): new function (half + finished, disabled for the moment) + + * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle + DBUS_MESSAGE_TYPE_ERROR + + * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to + avoid redirecting stderr to /dev/null + (babysit): close stdin if not doing the "exit_with_session" thing + + * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover + debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not + stdout/stdin, so things don't get confused + + * bus/system.conf.in: fix to allow replies, I modified .conf + instead of .conf.in again. + +2003-10-14 David Zeuthen + + * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in + argtype to arg_type when raising unknown arg type exception. + Changed type list to reflect the changes in dbus-protocol.h so + the bindings actually work. + +2003-10-14 Havoc Pennington + + * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems + to have a bug keeping it from outputting the .da files sometimes + (string_get_string): don't append garbage nul bytes to the string. + +2003-10-15 Seth Nickell + + * python/Makefile.am: + + Include dbus_h_wrapper.h in the dist tarball. + +2003-10-14 Havoc Pennington + + * bus/bus.c (bus_context_check_security_policy): revamp this to + work more sanely with new policy-based requested reply setup + + * bus/connection.c (bus_transaction_send_from_driver): set bus + driver messages as no reply + + * bus/policy.c (bus_client_policy_check_can_receive): handle a + requested_reply attribute on allow/deny rules + + * bus/system.conf: add + + * bus/driver.c (bus_driver_handle_message): fix check for replies + sent to the bus driver, which was backward. How did this ever work + at all though? I think I'm missing something. + + * dbus/dbus-message.c (decode_header_data): require error and + method return messages to have a reply serial field to be valid + (_dbus_message_loader_queue_messages): break up this function; + validate that reply serial and plain serial are nonzero; + clean up the OOM/error handling. + (get_uint_field): don't return -1 from this + (dbus_message_create_header): fix signed/unsigned bug + + * bus/connection.c (bus_connections_expect_reply): save serial of + the incoming message, not reply serial + +2003-10-14 Havoc Pennington + + * bus/connection.c: implement pending reply tracking using + BusExpireList + + * bus/bus.c (bus_context_check_security_policy): verify that a + reply is pending in order to allow a reply to be sent. Deny + messages of unknown type. + + * bus/dbus-daemon-1.1.in: update to mention new resource limits + + * bus/bus.c (bus_context_get_max_replies_per_connection): new + (bus_context_get_reply_timeout): new + +2003-10-13 Seth Nickell + + * python/Makefile.am: + + Pass "make distcheck": remove a couple files from DIST_FILES + that weren't included in the final version. + +2003-10-12 Havoc Pennington + + Added test code that 1) starts an actual bus daemon and 2) uses + DBusGProxy; fixed bugs that were revealed by the test. Lots + more testing possible, but this is the basic framework. + + * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove + empty proxy lists from the proxy list hash + + * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a + couple of return_if_fail checks + + * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0 + to allocate, so everything is cleared to NULL as it should be. + + * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass + source as data to dbus_connection_set_timeout_functions() as the + timeout functions expected + + * test/glib/run-test.sh: add a little script to start up a message + bus and run tests using it + + * tools/dbus-launch.1: updates + + * tools/dbus-launch.c (main): add --config-file option + + * tools/dbus-launch.c (main): remove confusing else if (runprog) + that could never be reached. + + * dbus/dbus-message.c (dbus_message_new_method_return) + (dbus_message_new_error, dbus_message_new_signal): set the + no-reply-expected flag on all these. Redundant, but may + as well be consistent. + +2003-10-11 Havoc Pennington + + * test/decode-gcov.c (function_solve_graph): make broken block + graph a nonfatal error since it seems to be broken. Need to debug + this. + + * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we + can't just check type > INVALID < LAST anymore + + * dbus/dbus-message.c (dbus_message_get_signature): new function + (dbus_message_has_signature): new function + (struct DBusMessage): add signature field (right now it isn't sent + over the wire, just generated on the fly) + (dbus_message_copy): copy the signature, and init strings to + proper length to avoid some reallocs + (dbus_message_iter_init_array_iterator): return void, since it + can't fail + (dbus_message_iter_init_dict_iterator): return void since it can't fail + (_dbus_message_loader_queue_messages): add silly temporary hack to + fill in message->signature on load + + * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII + characters, so they are relatively human-readable. + +2003-10-11 Havoc Pennington + + * dbus/dbus-message.c (_dbus_message_test): add more test + coverage, but #if 0 for now since they uncover a bug + not fixed yet; I think in re_align_field_recurse() + (re_align_field_recurse): add FIXME about broken assertion + + * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage + + * bus/connection.c: share a couple code bits with expirelist.c + + * bus/expirelist.h, bus/expirelist.c: implement a generic + expire-items-after-N-seconds facility, was going to share between + expiring connections and replies, decided not to use for expiring + connections for now. + + * COPYING: include AFL 2.0 (still need to change all the file headers) + +2003-10-09 Havoc Pennington + + * configure.in: define DBUS_HAVE_GCC33_GCOV if we have + gcc 3.3. Not that we do anything about it yet. + + * bus/signals.c (bus_match_rule_parse): impose max length on the + match rule text + + * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH + +2003-10-09 Havoc Pennington + + Make matching rules theoretically work (add parser). + + * bus/bus.c (bus_context_check_security_policy): fix up to handle + the case where destination is explicitly specified as bus driver + and someone else is eavesdropping. + + * bus/policy.c (bus_client_policy_check_can_receive): fix up + definition of eavesdropping and assertion + + * tools/dbus-send.c (main): use dbus_message_type_from_string + + * bus/signals.c (bus_match_rule_parse): implement + + * dbus/dbus-message.c (dbus_message_type_from_string): new + + * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add + +2003-10-02 Havoc Pennington + + * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from + dbus_gproxy_oneway_call + + * glib/dbus-gmain.c (dbus_connection_setup_with_g_main) + (dbus_server_setup_with_g_main): fix to allow calling them more + than once on the same args + (dbus_bus_get_with_g_main): new function + +2003-10-02 Havoc Pennington + + * doc/dbus-tutorial.xml: write some stuff + +2003-09-29 Havoc Pennington + + * configure.in: split checks for Doxygen from XML docs, check for + xmlto + + * doc/Makefile.am: XML-ify all the docs, and add a blank + dbus-tutorial.xml + +2003-09-29 Havoc Pennington + + * Merge dbus-object-names branch. To see the entire patch + do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names, + it's huuuuge though. + To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE. + +2003-09-28 Havoc Pennington + + * HACKING: update to reflect new server + +2003-09-26 Seth Nickell + + * python/dbus.py: + * python/examples/example-signals.py: + + Start implementing some notions of signals. The API + is really terrible, but they sort of work (with the + exception of being able to filter by service, and to + transmit signals *as* a particular service). Need to + figure out how to make messages come from the service + we registered :-( + + * python/dbus_bindings.pyx.in: + + Removed duplicate message_handler callbacks. + +2003-09-25 Havoc Pennington + + * bus/session.conf.in: fix my mess + +2003-09-25 Havoc Pennington + + * bus/session.conf.in: fix security policy, reported by Seth Nickell + +2003-09-25 Seth Nickell + + * python/examples/example-service.py: + + Johan notices complete wrong code in example-service, but + completely wrong in a way that works exactly the same (!). + Johan is confused, how could this possibly work? Example + code fails to serve purpose of making things clear. + Seth fixes. + +2003-09-25 Mark McLoughlin + + * doc/dbus-specification.sgml: don't require header fields + to be 4-byte aligned and specify that fields should be + distinguished from padding by the fact that zero is not + a valid field name. + + * doc/TODO: remove re-alignment item and add item to doc + the OBJECT_PATH type. + + * dbus/dbus-message.c: + (HeaderField): rename the original member to value_offset + and introduce a name_offset member to keep track of where + the field actually begins. + (adjust_field_offsets): remove. + (append_int_field), (append_uint_field), + (append_string_field): don't align the start of the header + field to a 4-byte boundary. + (get_next_field): impl finding the next marhsalled field + after a given field. + (re_align_field_recurse): impl re-aligning a number of + already marshalled fields. + (delete_field): impl deleting a field of any type and + re-aligning any following fields. + (delete_int_or_uint_field), (delete_string_field): remove. + (set_int_field), (set_uint_field): no need to re-check + that we have the correct type for the field. + (set_string_field): ditto and impl re-aligning any + following fields. + (decode_header_data): update to take into account that + the fields aren't 4-byte aligned any more and the new + way to distinguish padding from header fields. Also, + don't exit when there is too much header padding. + (process_test_subdir): print the directory. + (_dbus_message_test): add test to make sure a following + field is re-aligned correctly after field deletion. + + * dbus/dbus-string.[ch]: + (_dbus_string_insert_bytes): rename from insert_byte and + allow the insert of multiple bytes. + (_dbus_string_test): test inserting multiple bytes. + + * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add + warning note to docs about having to re-align any + marshalled values following the string. + + * dbus/dbus-message-builder.c: + (append_string_field), (_dbus_message_data_load): + don't align the header field. + + * dbus/dbus-auth.c: (process_test_subdir): print the + directory. + + * test/break-loader.c: (randomly_add_one_byte): upd. for + insert_byte change. + + * test/data/invalid-messages/bad-header-field-alignment.message: + new test case. + + * test/data/valid-messages/unknown-header-field.message: shove + a dict in the unknown field. + +2003-09-25 Seth Nickell + + * python/dbus.py: + * python/dbus_bindings.pyx.in: + + Handle return values. + + * python/examples/example-client.py: + * python/examples/example-service.py: + + Pass back return values from the service to the client. + +2003-09-24 Seth Nickell + + * python/dbus.py: + + Connect Object methods (when you are sharing an object) up... pass + in a list of methods to be shared. Sharing all the methods just + worked out too weird. You can now create nice Services over the + DBus in Python. :-) + + * python/dbus_bindings.pyx.in: + + Keep references to user_data tuples passed into C functions so + Python doesn't garbage collect on us. + + Implement MethodReturn and Error subclasses of Message for creating + DBusMessage's of those types. + + * python/examples/example-client.py: + * python/examples/example-service.py: + + Simple example code showing both how create DBus services and objects, + and how to use them. + +2003-09-23 Havoc Pennington + + * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement + +2003-09-23 Havoc Pennington + + * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement + (dbus_gproxy_disconnect_signal): implement + (dbus_gproxy_manager_remove_signal_match): implement + (dbus_gproxy_manager_add_signal_match): implement + (dbus_gproxy_oneway_call): implement + +2003-09-23 Havoc Pennington + + * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject + subclass. This means dropping the transparent thread safety of the + proxy; you now need a separate proxy per-thread, or your own + locking on the proxy. Probably right anyway. + (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref + +2003-09-22 Havoc Pennington + + * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement + +2003-09-21 Seth Nickell + + First checkin of the Python bindings. + + * python/.cvsignore: + * python/Makefile.am: + * python/dbus_bindings.pyx.in: + * python/dbus_h_wrapper.h: + + Pieces for Pyrex to operate on, building a dbus_bindings.so + python module for low-level access to the DBus APIs. + + * python/dbus.py: + + High-level Python module for accessing DBus objects. + + * configure.in: + * Makefile.am: + + Build stuff for the python bindings. + + * acinclude.m4: + + Extra macro needed for finding the Python C header files. + +2003-09-21 Havoc Pennington + + * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start + implementing the proxy manager, didn't get very far. + + * dbus/dbus-bus.c (dbus_bus_add_match): new + (dbus_bus_remove_match): new + + * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a + path_name argument; adjust the other not-yet-implemented + gproxy constructors to be what I think they should be. + +2003-09-21 Havoc Pennington + + * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE + by default for message bus connections. + + * dbus/dbus-connection.c (dbus_connection_dispatch): exit if + exit_on_disconnect flag is set and we process the disconnected + signal. + (dbus_connection_set_exit_on_disconnect): new function + +2003-09-21 Havoc Pennington + + Get matching rules mostly working in the bus; only actually + parsing the rule text remains. However, the client side of + "signal connections" hasn't been started, this patch is only the + bus side. + + * dbus/dispatch.c: fix for the matching rules changes + + * bus/driver.c (bus_driver_handle_remove_match) + (bus_driver_handle_add_match): send an ack reply from these + method calls + + * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of + arguments, reported by Seth Nickell + + * bus/config-parser.c (append_rule_from_element): support + eavesdrop=true|false attribute on policies so match rules + can be prevented from snooping on the system bus. + + * bus/dbus-daemon-1.1.in: consistently use terminology "sender" + and "destination" in attribute names; fix some docs bugs; + add eavesdrop=true|false attribute + + * bus/driver.c (bus_driver_handle_add_match) + (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch + messages + + * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get + rid of broadcast service concept, signals are just always broadcast + + * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c: + mostly implement matching rules stuff (currently only exposed as signal + connections) + +2003-09-21 Mark McLoughlin + + * doc/dbus-specification.sgml: Change the header field name + to be an enum and update the rest of the spec to reference + the fields using the conventinal name. + + * dbus/dbus-protocol.h: update to reflect the spec. + + * doc/TODO: add item to remove the 4 byte alignment requirement. + + * dbus/dbus-message.c: Remove the code to generalise the + header/body length and serial number header fields as named + header fields so we can reference field names using the + protocol values. + (append_int_field), (append_uint_field), (append_string_field): + Append the field name as a byte rather than four chars. + (delete_int_or_uint_field), (delete_string_field): reflect the + fact that the field name and typecode now occupy 4 bytes instead + of 8. + (decode_string_field), (decode_header_data): update to reflect + protocol changes and move the field specific encoding from + decode_string_field() back into decode_header_data(). + + * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string): + Add utility to aid debugging. + + * dbus/dbus-message-builder.c: + (append_string_field), (_dbus_message_data_load): Update to + reflect protocol changes; Change the FIELD_NAME directive + to HEADER_FIELD and allow it to take the field's conventional + name rather than the actual value. + + * test/data/*/*.message: Update to use HEADER_FIELD instead + of FIELD_NAME; Always align the header on an 8 byte boundary + *before* updating the header length. + +2003-09-15 Havoc Pennington + + * dbus/dbus-pending-call.c: add the get/set object data + boilerplate as for DBusConnection, etc. Use generic object data + for the notify callback. + + * glib/dbus-gparser.c (parse_node): parse child nodes + + * tools/dbus-viewer.c: more hacking on the dbus-viewer + + * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to + contain functions shared between the convenience lib and the + installed lib + + * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add + -export-symbols-regex to the GLib library + + * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock): + fix the locking in here, and add a default handler for + Introspect() that just returns sub-nodes. + +2003-09-14 Havoc Pennington + + * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo + rather than gfoo consistent + + * glib/dbus-gproxy.h: delete for now, move contents to + dbus-glib.h, because the include files don't work right since we + aren't in the dbus/ subdir. + + * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing + (dbus_gproxy_end_call): finish + (dbus_gproxy_begin_call): finish + + * glib/dbus-gmain.c (dbus_set_g_error): new + + * glib/dbus-gobject.c (handle_introspect): include information + about child nodes in the introspection + + * dbus/dbus-connection.c (dbus_connection_list_registered): new + function to help in implementation of introspection + + * dbus/dbus-object-tree.c + (_dbus_object_tree_list_registered_and_unlock): new function + +2003-09-12 Havoc Pennington + + * glib/dbus-gidl.h: add common base class for all the foo_info + types + + * tools/dbus-viewer.c: add GTK-based introspection UI thingy + similar to kdcop + + * test/Makefile.am: try test srcdir -ef . in addition to test + srcdir = ., one of them should work (yeah lame) + + * glib/Makefile.am: build the "idl" parser stuff as a convenience + library + + * glib/dbus-gparser.h: make description_load routines return + NodeInfo* not Parser* + + * Makefile.am (SUBDIRS): build test dir after all library dirs + + * configure.in: add GTK+ detection + +2003-09-07 Havoc Pennington + + * Make Doxygen contented. + +2003-09-07 Havoc Pennington + + * doc/dbus-specification.sgml: more updates + +2003-09-06 Havoc Pennington + + * doc/dbus-specification.sgml: partial updates + + * bus/dbus-daemon-1.1.in: fix the config file docs for the + zillionth time; hopefully I edited the right file this time. + + * bus/config-parser.c (append_rule_from_element): support + send_type, send_path, receive_type, receive_path + + * bus/policy.c: add message type and path to the list of things + that can be "firewalled" + +2003-09-06 Havoc Pennington + + * dbus/dbus-connection.c (dbus_connection_register_fallback): add this + (dbus_connection_register_object_path): make this not handle + messages to paths below the given path + +2003-09-03 Havoc Pennington + + * test/glib/Makefile.am: add this with random glib-linked test + programs + + * glib/Makefile.am: remove the random test programs from here, + leave only the unit tests + + * glib/dbus-gobject.c (_dbus_gobject_test): add test for + uscore/javacaps conversion, and fix + (get_object_property, set_object_property): change to .NET + convention for mapping props to methods, set_FooBar/get_FooBar, + since one language has such a convention we may as well copy it. + Plus real methods in either getFooBar or get_foo_bar style won't + collide with this convention. + +2003-09-01 Havoc Pennington + + * glib/dbus-gparser.c: implement + + * glib/dbus-gobject.c: start implementing skeletons support + + * configure.in: when disabling checks/assert, also define + G_DISABLE_ASSERT and G_DISABLE_CHECKS + +2003-09-01 Havoc Pennington + + * glib/Makefile.am: rearrange a bunch of files and get "make + check" framework set up + +2003-08-31 Havoc Pennington + + * fix build with --disable-tests + +2003-08-30 Havoc Pennington + + * dbus/dbus-connection.c: purge DBusMessageHandler + + * dbus/dbus-message-handler.c: remove DBusMessageHandler, just + use callbacks everywhere + +2003-08-30 Havoc Pennington + + * test/data/valid-config-files/system.d/test.conf: change to + root for the user so warnings don't get printed + + * dbus/dbus-message.c: add dbus_message_get_path, + dbus_message_set_path + + * dbus/dbus-object-tree.c (do_test_dispatch): add test of + dispatching to a path + + * dbus/dbus-string.c (_dbus_string_validate_path): add + + * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement + (_dbus_marshal_object_path): implement + + * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field + to contain the path to the target object + (DBUS_HEADER_FIELD_SENDER_SERVICE): rename + DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service + +2003-08-30 Havoc Pennington + + * dbus/dbus-object-tree.c: write tests and fix the discovered bugs + +2003-08-29 Havoc Pennington + + * dbus/dbus-object-tree.c: modify to allow overlapping paths to be + registered + (struct DBusObjectSubtree): shrink this + a lot, since we may have a lot of them + (_dbus_object_tree_free_all_unlocked): implement + (_dbus_object_tree_dispatch_and_unlock): implement + +2003-08-29 Havoc Pennington + + * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS + +2003-08-28 Havoc Pennington + + purge DBusObjectID + + * dbus/dbus-connection.c: port to no ObjectID, create a + DBusObjectTree, rename ObjectTree to ObjectPath in public API + + * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete + everything except UnregisterFunction and MessageFunction + + * dbus/dbus-marshal.c: port away from DBusObjectID, + add DBUS_TYPE_OBJECT_PATH + + * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], + dbus/dbus-objectid.[hc]: remove these, we are moving to + path-based object IDs + +2003-08-25 Havoc Pennington + + Just noticed that dbus_message_test is hosed, I wonder when I + broke that. I thought make check was passing earlier... + + * dbus/dbus-object-tree.c: add new "object tree" to match DCOP + container tree, will replace most of dbus-object-registry + + * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99 + screwup + +2003-08-19 Havoc Pennington + + * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER + (dbus_message_is_error): fix this function + + * bus/dbus-daemon-1.1: clarify logic on when / rules + match + + * bus/policy.c (bus_client_policy_check_can_receive): fix code to + reflect clarified man page + (bus_client_policy_check_can_send): ditto + + * bus/session.conf.in: fixup + + * bus/system.conf.in: fixup + +2003-08-18 Havoc Pennington + + * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix + + * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix + dumb bug created earlier (wrong order of args to + decode_header_data()) + + * tools/dbus-send.c: port + + * tools/dbus-print-message.c (print_message): port + + * test/data/*messages: port all messages over + + * dbus/dbus-message-builder.c: support including + message type + + * bus/driver.c: port over + + * bus/dispatch.c: port over to new stuff + + * dbus/dbus-connection.c (_dbus_connection_new_for_transport): + rename disconnect signal to "Disconnected" + +2003-08-17 Havoc Pennington + + This doesn't compile yet, but syncing up so I can hack on it from + work. What are branches for if not broken code? ;-) + + * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add + DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER, + DBUS_HEADER_FIELD_ERROR_NAME + + * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use + for the interface+member pairs + (string_hash): change to use g_str_hash algorithm + (find_direct_function, find_string_function): refactor these to + share most code. + + * dbus/dbus-message.c: port all of this over to support + interface/member fields instead of name field + + * dbus/dbus-object-registry.c: port over + + * dbus/dbus-string.c (_dbus_string_validate_interface): rename + from _dbus_string_validate_name + + * bus/dbus-daemon-1.1: change file format for the + / stuff to match new message naming scheme + + * bus/policy.c: port over + + * bus/config-parser.c: parse new format + +2003-08-16 Havoc Pennington + + * dbus/dbus-object-registry.c (add_and_remove_objects): remove + broken assertion + + * glib/dbus-gproxy.c: some hacking + +2003-08-15 Havoc Pennington + + * dbus/dbus-pending-call.c (dbus_pending_call_block): implement + + * dbus/dbus-connection.c + (dbus_connection_send_with_reply_and_block): factor out internals; + change to convert any error replies to DBusError instead of + returning them as a message + +2003-08-15 Havoc Pennington + + * dbus/dbus-connection.c, + dbus/dbus-pending-call.c: Finish the pending call stuff + +2003-08-14 Havoc Pennington + + * dbus/dbus-pending-call.c: start on new object that will replace + DBusMessageHandler and ReplyHandlerData for tracking outstanding + replies + + * dbus/dbus-gproxy.c: start on proxy object used to communicate + with remote interfaces + + * dbus/dbus-gidl.c: do the boring boilerplate in here + +2003-08-12 Havoc Pennington + + * bus/dispatch.c (bus_dispatch): make this return proper + DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD + + * dbus/dbus-errors.c (dbus_set_error): use + _dbus_string_append_printf_valist + + * dbus/dbus-string.c (_dbus_string_append_printf_valist) + (_dbus_string_append_printf): new + + * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to + UNKNOWN_METHOD + + * dbus/dbus-connection.c (dbus_connection_dispatch): handle + DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a + message is unhandled. + +2003-08-11 Havoc Pennington + + * bus/test.c (client_disconnect_handler): change to return + HANDLED (would have been REMOVE_MESSAGE) + + * dbus/dbus-object.h (enum DBusHandlerResult): rename to + HANDLED/NOT_YET_HANDLED instead of + REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it + should be used. + +2003-08-10 Havoc Pennington + + * tools/dbus-send.c (main): add --type argument, for now + supporting only method_call and signal types. + + * tools/dbus-print-message.c: print message type + + * dbus/dbus-connection.c (_dbus_connection_new_for_transport): + init connection->objects + + * doc/dbus-specification.sgml: fix sgml + + * bus/*.c: port over to object-instance API changes + + * test/test-service.c: ditto + + * dbus/dbus-message.c (dbus_message_create_header): allow #NULL + name, we will have to fix up the rest of the code to also handle + this + (dbus_message_new): generic message-creation call + (set_string_field): allow appending name field + +2003-08-06 Havoc Pennington + + * dbus/dbus-object-registry.c: implement signal connection + and dispatch + + * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new + + * dbus/dbus-internals.c (_dbus_memdup): new function + +2003-08-02 Havoc Pennington + + * dbus/dbus-message.c (dbus_message_get_no_reply) + (dbus_message_set_no_reply): add these and remove + set_is_error/get_is_error + + * dbus/dbus-protocol.h, doc/dbus-specification.sgml: + remove the ERROR flag, since there's now an ERROR type + +2003-08-01 Havoc Pennington + + * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock): + implement + + * dbus/dbus-message.c (dbus_message_get_type): new function + + * doc/dbus-specification.sgml: add "type" byte to messages + +2003-08-01 Havoc Pennington + + * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce + a message type enum to distinguish kinds of message + (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message + that need not be replied to + +2003-08-01 Havoc Pennington + + * dbus/dbus-marshal.c: adapt to DBusObjectID changes + (unpack_8_octets): fix no-64-bit-int bug + + * dbus/dbus-object-registry.c (validate_id): validate the + connection ID bits, not just the instance ID. + + * dbus/dbus-connection.c (_dbus_connection_init_id): initialize + the connection-global 33 bits of the object ID + + * dbus/dbus-object-registry.c (info_from_entry): fill in + object ID in the new way + + * dbus/dbus-objectid.h: rather than high/low bits, specifically + define server/client/instance bits. + +2003-07-30 Havoc Pennington + + * dbus/dbus-connection.c (dbus_connection_register_object): fix + build + +2003-07-13 Havoc Pennington + + * dbus/dbus-object.h (struct DBusObjectVTable): add padding + fields to DBusObjectVTable and DBusObjectInfo + +2003-07-12 Havoc Pennington + + * dbus/dbus-object-registry.c: implement unit test, + fix bugs discovered in process + + * dbus/dbus-connection.c: remove handler_table and + register_handler(), add DBusObjectRegistry usage + + * dbus/dbus-objectid.c (dbus_object_id_is_null) + (dbus_object_id_set_null): new functions + +2003-07-08 Havoc Pennington + + * dbus/dbus-object.c: implement some of this + + * dbus/dbus-object-registry.c + (_dbus_object_registry_add_and_unlock): fill in the object_id out + param + (_dbus_object_registry_new): handle OOM + +2003-07-08 Havoc Pennington + + * dbus/dbus-object.h: sketch out an API for registering objects + with a connection, that allows us to use as little as 24 bytes + per object and lets application code represent an object in + any conceivable way. + + * dbus/dbus-object-registry.c: implement the hard bits of the + DBusConnection aspect of object API. Not yet wired up. + +2003-07-06 Havoc Pennington + + * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function + (_dbus_marshal_object_id): new + (_dbus_demarshal_object_id): new + (_dbus_marshal_get_arg_end_pos): support object ID type, and + consolidate identical switch cases. Don't conditionalize handling + of DBUS_TYPE_UINT64, need to handle the type always. + (_dbus_marshal_validate_arg): consolidate identical cases, and + handle DBUS_TYPE_OBJECT_ID + + * dbus/dbus-objectid.c: new file with DBusObjectID data type. + + * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID + +2003-09-28 Havoc Pennington + + * real 0.13 release + +2003-09-28 Havoc Pennington + + * doc/Makefile.am (dbus-specification.html): testing a funky hack + to work with Debian db2html + +2003-09-28 Havoc Pennington + + * configure.in: 0.13 + + * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of + stylesheet-images for benefit of Debian + + Change back to using filesystem-linked sockets for the system + bus, so only root can create the default system bus address. + + * bus/system.conf.in: change to use + DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + + * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define + from here. + + * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS + here, and AC_DEFINE DBUS_SYSTEM_PATH 2003-08-09 Anders Carlsson @@ -66,7 +1684,7 @@ 2003-07-01 Havoc Pennington - * doc/dbus-specification.sgml: clarify the format of a type code, + * doc/dbus-specification.sgml: clarify the format of a type code, change suggested by Jim Blandy 2003-06-29 Miloslav Trmac @@ -84,7 +1702,7 @@ of %c%c%c%c. (dbus_message_new): Remove obsolete @todo. - * dbus/dbus-marshal.c (_dbus_marshal_set_int64) + * dbus/dbus-marshal.c (_dbus_marshal_set_int64) (_dbus_marshal_set_uint64): Fix comment. * dbus/dbus-message.c (append_int_field, append_uint_field): Don't @@ -117,7 +1735,7 @@ (Message.Message): * gcj/org/freedesktop/dbus/natMessage.cc: Fix the build system. - + 2003-06-22 Havoc Pennington * mono/Connection.cs: add more bindings @@ -127,13 +1745,13 @@ 2003-06-22 Havoc Pennington - * mono/Connection.cs, mono/DBus.cs, mono/Error.cs: + * mono/Connection.cs, mono/DBus.cs, mono/Error.cs: Start wrapping more stuff. 2003-06-22 Havoc Pennington * mono/Message.cs: implement Message.Wrap() that ensures we only - have a single C# wrapper per DBusMessage, assuming it works which + have a single C# wrapper per DBusMessage, assuming it works which it probably doesn't. * dbus/dbus-message.c (dbus_message_allocate_data_slot): new @@ -145,9 +1763,9 @@ * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref) (_dbus_data_slot_allocator_alloc): rework these to keep a - reference count on each slot and automatically manage a global + reference count on each slot and automatically manage a global slot ID variable passed in by address - + * bus/bus.c: convert to new dataslot API * dbus/dbus-bus.c: convert to new dataslot API @@ -173,9 +1791,9 @@ 2003-06-22 Havoc Pennington - * mono/*, gcj/*, configure.in, Makefile.am: - Check in makefiles and subdirs for mono and gcj bindings. - Neither binding actually exists, just trying to get through + * mono/*, gcj/*, configure.in, Makefile.am: + Check in makefiles and subdirs for mono and gcj bindings. + Neither binding actually exists, just trying to get through all the build and other boring bits. 2003-06-21 Philip Blundell @@ -186,7 +1804,7 @@ 2003-06-20 Anders Carlsson - * dbus/dbus-transport-unix.c (unix_handle_watch): Check + * dbus/dbus-transport-unix.c (unix_handle_watch): Check for hangup and error after checking read so we won't discard pending data if both hangup and read are set. @@ -195,9 +1813,9 @@ * tools/dbus-print-message.c (print_message): Handle BOOLEAN. * tools/dbus-send.c: Accept both --system and --session. - + * tools/dbus-monitor.c: Same here. - + 2003-06-19 Anders Carlsson * glib/dbus-glib.h: Fix so that dbus-glib.h can be used @@ -241,13 +1859,13 @@ toggle as an argument, implement abstract namespace support (_dbus_listen_unix_socket): ditto - * configure.in: add --enable-abstract-sockets and implement + * configure.in: add --enable-abstract-sockets and implement a configure check for autodetection of the right value. 2003-06-01 Havoc Pennington - * tools/dbus-cleanup-sockets.c: add utility to clean up sockets - in /tmp (though on Linux this will end up being useless, + * tools/dbus-cleanup-sockets.c: add utility to clean up sockets + in /tmp (though on Linux this will end up being useless, when we add abstract namespace support) * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to @@ -266,29 +1884,29 @@ * tools/dbus-send.c: Don't exit with an error code if --help was passed. Default to using the session bus instead of the system one. - - * tools/dbus-launch.c: Ditto. + + * tools/dbus-launch.c: Ditto. * tools/dbus-monitor.c: Ditto. * tools/dbus-send.1: Update with new arguments. - + * tools/dbus-launch.c: Emit code to export variables. New arguments -s and -c to specify shell syntax, and a bit of code to autodetect syntax. Also, allow specifying a program to run. - + * tools/dbus-launch.1: Update with new arguments. - + * tools/dbus-send.1: Ditto. * tools/dbus-monitor.1: Ditto. - + 2003-05-17 Havoc Pennington * bus/config-parser.c (merge_included): merge in policies from child configuration file. - * bus/policy.c (bus_policy_merge): function to merge two policies + * bus/policy.c (bus_policy_merge): function to merge two policies together 2003-05-16 Havoc Pennington @@ -297,12 +1915,12 @@ * tools/dbus-send.c: add --print-reply command line option - * tools/dbus-print-message.h (print_message): new util function + * tools/dbus-print-message.h (print_message): new util function shared by dbus-send and dbus-monitor * tools/dbus-monitor.c (handler_func): exit on disconnect - * dbus/dbus-transport-unix.c (do_reading): if the transport is + * dbus/dbus-transport-unix.c (do_reading): if the transport is disconnected, don't try to use the read_watch * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL @@ -341,7 +1959,7 @@ check" as it broke distcheck * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d - + 2003-05-13 James Willcox * configure.in: @@ -363,18 +1981,18 @@ 2003-05-11 Havoc Pennington - * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid + * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid calling _dbus_marshal_validate_arg() for every byte in a byte array, etc. - * dbus/dbus-message-handler.c: use atomic reference counting to + * dbus/dbus-message-handler.c: use atomic reference counting to reduce number of locks slightly; the global lock in here sucks * dbus/dbus-connection.c (_dbus_connection_update_dispatch_status_and_unlock): variant of update_dispatch_status that can be called with lock held; then use in a couple places to reduce locking/unlocking - (dbus_connection_send): hold the lock over the whole function + (dbus_connection_send): hold the lock over the whole function instead of acquiring it twice. * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM @@ -390,7 +2008,7 @@ * dbus/dbus-list.c (_dbus_list_find_last): new function * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): - change to use a struct for the atomic type; fix docs, + change to use a struct for the atomic type; fix docs, they return value before increment, not after increment. * dbus/dbus-string.c (_dbus_string_append_4_aligned) @@ -407,8 +2025,8 @@ * dbus/dbus-string.c (_dbus_string_move): just call _dbus_string_move_len - (_dbus_string_move_len): add a special case for moving - an entire string into an empty string; we can just + (_dbus_string_move_len): add a special case for moving + an entire string into an empty string; we can just swap the string data instead of doing any reallocs. (_dbus_string_init_preallocated): new function @@ -419,14 +2037,14 @@ UTF-8 validation as hot spots. 20% of lock contention eliminated with dbus_atomic_inc/dec implementation on x86. Much remaining contention is global mempool locks for GList and DBusList. - + * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add x86 implementation * dbus/dbus-connection.c (struct DBusConnection): use - dbus_atomic_t for the reference count + dbus_atomic_t for the reference count - * dbus/dbus-message.c (struct DBusMessage): declare + * dbus/dbus-message.c (struct DBusMessage): declare dbus_atomic_t values as volatile * configure.in: code to detect ability to use atomic integer @@ -435,22 +2053,22 @@ * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every time, tired of it being wrong in threads and forked processes - * glib/test-profile.c: a little program to bounce messages back + * glib/test-profile.c: a little program to bounce messages back and forth between threads and eat CPU * dbus/dbus-connection.c: add debug spew macros for debugging - thread locks; include config.h at top; fix deadlock in + thread locks; include config.h at top; fix deadlock in dbus_connection_flush() 2003-05-08 Havoc Pennington * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov - data from getting written, and there wasn't a good reason to + data from getting written, and there wasn't a good reason to use _exit really. * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count dbus_verbose lines in test coverage - (main): add list of functions sorted by # of untested blocks + (main): add list of functions sorted by # of untested blocks to the coverage report * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS @@ -491,14 +2109,14 @@ 2003-05-04 Havoc Pennington - * dbus-glib-1.pc.in (Requires): fix dependencies, from + * dbus-glib-1.pc.in (Requires): fix dependencies, from Anders Gustafsson 2003-05-04 Havoc Pennington * tools/dbus-launch.c: implement - * bus/main.c (main), bus/bus.c (bus_context_new): + * bus/main.c (main), bus/bus.c (bus_context_new): implement --print-pid and --fork 2003-05-03 Havoc Pennington @@ -515,7 +2133,7 @@ * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add dbus-launch utility to launch the bus from a shell script. Didn't actually implement dbus-launch yet, it's just a placeholder still. - + 2003-05-03 Havoc Pennington * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the @@ -525,7 +2143,7 @@ 2003-05-03 Havoc Pennington - * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: + * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: add some man pages 2003-05-03 Colin Walters @@ -576,7 +2194,7 @@ * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE to use this library" to be sure people have the right expectations. - + 2003-04-28 Havoc Pennington * configure.in: add --enable-docs which by default is auto yes if @@ -592,14 +2210,14 @@ * NEWS: update * bus/system.conf.in: add system.d - + * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when username was provided but not uid * bus/config-parser.c (struct BusConfigParser): keep track of - whether the parser is toplevel or was included; change some + whether the parser is toplevel or was included; change some of the error handling if it's included. - + 2003-04-27 Havoc Pennington Unbreak my code... @@ -607,7 +2225,7 @@ * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status): report correct status if we finish processing authentication inside this function. - + * bus/activation.c (try_send_activation_failure): use bus_transaction_send_error_reply @@ -616,7 +2234,7 @@ * bus/bus.c (bus_context_check_security_policy): implement restriction here that inactive connections can only send the - hello message. Also, allow bus driver to send anything to + hello message. Also, allow bus driver to send anything to any recipient. * bus/connection.c (bus_connection_complete): create the @@ -635,7 +2253,7 @@ 2003-04-25 Havoc Pennington test suite is slightly hosed at the moment, will fix soon - + * bus/connection.c (bus_connections_expire_incomplete): fix to properly disable the timeout when required (bus_connection_set_name): check whether we can remove incomplete @@ -645,7 +2263,7 @@ probably still broken. * bus/services.c (bus_registry_acquire_service): implement max - number of services owned, and honor allow/deny rules on which + number of services owned, and honor allow/deny rules on which services a connection can own. * bus/connection.c (bus_connection_get_policy): report errors here @@ -667,19 +2285,19 @@ * test/data/valid-config-files/basic.conf: add tags to this test - + * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement tag in configuration file. - + 2003-04-24 Havoc Pennington * bus/dispatch.c: somehow missed some name_is - * dbus/dbus-timeout.c (_dbus_timeout_set_enabled) + * dbus/dbus-timeout.c (_dbus_timeout_set_enabled) (_dbus_timeout_set_interval): new * bus/connection.c (bus_connections_setup_connection): record time - when each connection is first set up, and expire them after the + when each connection is first set up, and expire them after the auth timeout passes. 2003-04-24 Havoc Pennington @@ -727,7 +2345,7 @@ 2003-04-22 Havoc Pennington * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer - support, and do some code cleanups to share more code and + support, and do some code cleanups to share more code and speed up array marshal/demarshal. * dbus-1.0.pc.in (Cflags): put libdir include file in cflags @@ -743,7 +2361,7 @@ to use proper type for rply field * test/data/invalid-messages: add tests for below validation - + * dbus/dbus-message.c (decode_header_data): validate field types, and validate that named fields are valid names (decode_name_field): consider messages in the @@ -753,7 +2371,7 @@ 2003-04-19 Havoc Pennington - * bus/driver.c (bus_driver_handle_hello): check limits and + * bus/driver.c (bus_driver_handle_hello): check limits and return an error if they are exceeded. * bus/connection.c: maintain separate lists of active and inactive @@ -772,7 +2390,7 @@ * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some memleaks - * dbus/dbus-keyring.c (add_new_key): fix a memleak, and + * dbus/dbus-keyring.c (add_new_key): fix a memleak, and on realloc be sure to update the pointer in the keyring * dbus/dbus-string.c (_dbus_string_zero): compensate for align @@ -796,7 +2414,7 @@ server. 2003-04-18 Havoc Pennington - + * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose debug spew @@ -808,7 +2426,7 @@ * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in the environment - + * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1 config file so we test the right thing @@ -851,14 +2469,14 @@ * dbus/dbus-message.h: change message serials to unsigned * dbus/dbus-connection.c: adapt to message serials being unsigned - + 2003-04-15 Havoc Pennington - * bus/bus.c: create and keep around a shared DBusUserDatabase + * bus/bus.c: create and keep around a shared DBusUserDatabase object. * bus/connection.c (bus_connection_get_groups): don't cache - groups for user in the connection object, since user database + groups for user in the connection object, since user database object now does that. 2003-04-16 Havoc Pennington @@ -868,12 +2486,12 @@ (_dbus_message_loader_putback_message_link): put back a popped link * dbus/dbus-connection.c - (dbus_connection_set_max_live_messages_size): rename + (dbus_connection_set_max_live_messages_size): rename max_received_size - (dbus_connection_get_outgoing_size): get size of outgoing + (dbus_connection_get_outgoing_size): get size of outgoing queue (_dbus_connection_set_connection_counter): remove this cruft - + 2003-04-14 Havoc Pennington * dbus/dbus-userdb.c: user database abstraction, mostly to get @@ -885,17 +2503,17 @@ test always uses EXTERNAL when available. * configure.in, - test/data/valid-config-files/debug-allow-all-sha1.conf.in: + test/data/valid-config-files/debug-allow-all-sha1.conf.in: add conf file that requires use of sha1 auth 2003-04-13 Havoc Pennington - + * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs from Philip Blundell to send messages and monitor them. - + 2003-04-13 Havoc Pennington - * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting + * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting callbacks * test/data/valid-config-files/debug-allow-all.conf.in: allow all @@ -903,11 +2521,11 @@ * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status): fix to only recover unused bytes if we're already authenticated - (_dbus_transport_get_is_authenticated): fix to still mark us + (_dbus_transport_get_is_authenticated): fix to still mark us authenticated if there are unused bytes. * bus/dispatch.c: implement security policy checking - + * bus/connection.c (bus_transaction_send_from_driver): new * bus/bus.c (bus_context_check_security_policy): new @@ -925,7 +2543,7 @@ 2003-04-13 Havoc Pennington * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules - + * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function * bus/policy.c (bus_policy_append_mandatory_rule) @@ -940,7 +2558,7 @@ the pid/gid/uid, just for paranoia. * test/break-loader.c (randomly_do_n_things): find a byte - containing a type code, and randomly change it to a different + containing a type code, and randomly change it to a different type code. 2003-04-12 Havoc Pennington @@ -948,7 +2566,7 @@ * bus/policy.h: change BusPolicy to be the thing from the config file, and rename old BusPolicy to BusClientPolicy - * bus/bus.c, bus/connection.c, bus/config-parser.c: change to + * bus/bus.c, bus/connection.c, bus/config-parser.c: change to match change in how policy works * dbus/dbus-internals.h: mark assert_not_reached as @@ -956,7 +2574,7 @@ 2003-04-11 Havoc Pennington - * doc/dbus-specification.sgml: fix a spot with the wrong name for + * doc/dbus-specification.sgml: fix a spot with the wrong name for the broadcast service. Use boolean return for ServiceExists. 2003-04-11 Havoc Pennington @@ -1031,7 +2649,7 @@ we don't successfully create the service after all. Don't remove pending activation if the function fails. - * dbus/dbus-list.c (_dbus_list_insert_before_link) + * dbus/dbus-list.c (_dbus_list_insert_before_link) (_dbus_list_insert_after_link): new code to facilitate services.c fixes @@ -1040,30 +2658,30 @@ into a hash table. * bus/connection.c (bus_transaction_add_cancel_hook): new function - allowing us to put custom hooks in a transaction to be used for + allowing us to put custom hooks in a transaction to be used for cancelling said transaction * doc/dbus-specification.sgml: add some discussion of secondary service owners, and disallow zero-length service names * bus/services.c (bus_registry_acquire_service): new function, - splits out part of bus_driver_handle_acquire_service() and fixes - a bug where we didn't remove the service doing the acquiring + splits out part of bus_driver_handle_acquire_service() and fixes + a bug where we didn't remove the service doing the acquiring from the secondary queue if we failed to remove the current owner from the front of the queue. - + 2003-04-10 Alexander Larsson * doc/dbus-specification.sgml: s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/ - + 2003-04-10 Alexander Larsson * bus/.cvsignore: * glib/.cvsignore: * test/.cvsignore: Added files to cvsignore - + * dbus/dbus-message.h: * dbus/dbus-message.c: (dbus_message_iter_get_named): Make get_named() take two out argument and return a boolean. @@ -1081,38 +2699,38 @@ * dbus/dbus-marshal.[ch]: Add array_type_pos argument to _dbus_marshal_validate_arg. Let you pass a NULL end_pos to _dbus_marshal_validate_type. - + * dbus/dbus-message.[ch]: Multi-dimensional arrays have full type specification in the outermost array. Iter code re-arranged to handle this. Added some more iter tests. - + * doc/dbus-specification.sgml: Add me to authors. Remove old FIXME. Update new array encoding description. Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description. - + * test/data/invalid-messages/array-with-mixed-types.message: * test/data/valid-messages/array-of-array-of-uint32.message: Change to the new array format. - + * test/data/invalid-messages/too-short-dict.message: Fix bug in test. - + * test/data/valid-messages/recursive-types.message: Fix up and extend test. 2003-04-10 Havoc Pennington * bus/dispatch.c: lots of fixes - + * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export (_dbus_loop_iterate): remove old "quit if no callbacks" code, that was crack, broke the test service. * dbus/dbus-transport.c (_dbus_transport_open): fix error - handling to avoid piling up errors if we get a failure on the + handling to avoid piling up errors if we get a failure on the first address. * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include @@ -1153,7 +2771,7 @@ allowing us to fix up main loop usage (_dbus_connection_last_unref): free all the various function user data - (dbus_connection_dispatch): call the DispatchStatusFunction + (dbus_connection_dispatch): call the DispatchStatusFunction whenever this function returns (dbus_connection_handle_watch): call DispatchStatusFunction (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction @@ -1162,7 +2780,7 @@ 2003-04-09 Havoc Pennington - * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and + * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and a memory leak * bus/dispatch.c (check_service_activated): fix bug in test @@ -1174,12 +2792,12 @@ e.g. in the activation case. 2003-04-08 Colin Walters - + * bus/bus.c (struct BusContext) [pidfile]: New member, to store the pid file. (bus_context_new): Set it. (bus_context_unref): Use it to delete the pid file. - + 2003-04-08 Havoc Pennington * test/data/invalid-messages/array-with-mixed-types.message: @@ -1195,7 +2813,7 @@ * test/data/valid-messages/array-of-array-of-uint32.message: happened to write this so added it to suite - + 2003-04-08 Havoc Pennington * bus/driver.c (bus_driver_handle_acquire_service): init @@ -1224,7 +2842,7 @@ * glib/test-thread-server.c: (handle_test_message): * test/test-service.c: (handle_echo): Update to new api - + * dbus/Makefile.am: * dbus/dbus-dict.c: * dbus/dbus-dict.h: @@ -1233,16 +2851,16 @@ * dbus/dbus-internals.c: (_dbus_type_to_string): Update for new types. - + * dbus/dbus-marshal.[ch]: Implement recursive types and the new marshalling format. Remove hardcoded dict marshalling. Marshal named types. - + * dbus/dbus-message-builder.c: Add BYTE_ARRAY. Remove references to old types - + * dbus/dbus-message.[ch]: New non-refcounted iter API that supports recursive iters. Use iters for appending, including support for recursive @@ -1250,24 +2868,24 @@ Add byte and named type support. Update everything to new marshalling formats. Add tests for new API. - + * dbus/dbus-protocol.h: Remove old array types. Add types: BYTE, ARRAY, DICT, NAMED - + * dbus/dbus-string.c: * dbus/dbus-sysdeps.c: Make parse_double locale safe. - + * dbus/dbus-test-main.c: Call setlocale. - + * dbus/dbus-test.c: Kill dict test - + * doc/dbus-specification.sgml: Update spec - + * test/data/incomplete-messages/missing-body.message: * test/data/invalid-messages/bad-boolean.message: * test/data/invalid-messages/bad-boolean-array.message: @@ -1282,10 +2900,10 @@ * test/data/valid-messages/recursive-types.message: Add missing NAME fields Fix up dicts & arrays - + * test/data/invalid-messages/dict-with-nil-value.message: Removed, this is not invalid anymore. - + * test/data/valid-messages/recursive-types.message: Add new test for deeply recursive types. @@ -1296,11 +2914,11 @@ 2003-04-07 Havoc Pennington - * doc/dbus-specification.sgml: require that base service names - start with ':' and that the base service is created/deleted + * doc/dbus-specification.sgml: require that base service names + start with ':' and that the base service is created/deleted as first and last things a connection does on the bus - * bus/dispatch.c (check_existent_service_activation): lots more + * bus/dispatch.c (check_existent_service_activation): lots more work on the activation test; it doesn't fully pass yet... * test/test-service.c (main): fix so we don't memleak the @@ -1309,7 +2927,7 @@ 2003-04-06 Havoc Pennington - * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h, + * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h, from Colin Walters * configure.in: fixes to Qt detection from Colin Walters @@ -1318,7 +2936,7 @@ exist, from Colin Walters * dbus/dbus-bus.c: change how we set well-known connections to - NULL, so that it works if a single connection is stored in + NULL, so that it works if a single connection is stored in two well-known array slots. * test/Makefile.am: remove a lot of stuff that isn't immediately @@ -1334,17 +2952,17 @@ elsewhere, and util functions that are used in tests/daemon but don't go in the lib. - * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc] + * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc] here so it can be used in test binaries also 2003-04-06 Havoc Pennington * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile here in the parent process, so we can return an error if it - fails. Also, move some of the code into the child so the parent + fails. Also, move some of the code into the child so the parent is less hosed if we fail midway through. - * bus/bus.c (bus_context_new): move pidfile detection further up + * bus/bus.c (bus_context_new): move pidfile detection further up in the function, before we start overwriting sockets and such. * bus/messagebus.in: adjust this a bit, not sure if it will work. @@ -1366,13 +2984,13 @@ (bus_config_parser_end_element, bus_config_parser_content): Handle it. (bus_config_parser_unref): Free it. (bus_config_parser_get_pidfile): New function. - + * bus/config-parser.h (_dbus_write_pid_file): Prototype. * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error. * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function. - + * dbus/dbus-sysdeps.h: Prototype it. 2003-04-06 Havoc Pennington @@ -1380,7 +2998,7 @@ * bus/bus.c (bus_context_new): print the address in here, rather than in main(), because we need to do it before forking the daemon - * bus/dispatch.c (send_service_nonexistent_error): set the sender + * bus/dispatch.c (send_service_nonexistent_error): set the sender on the service nonexistent error * bus/driver.c (bus_driver_handle_acquire_service): set the @@ -1391,8 +3009,8 @@ 2003-04-06 Havoc Pennington - * dbus/dbus-threads.c: Redo how the fake debug mutexes are done - so it detects deadlocks and also we actually init threads when + * dbus/dbus-threads.c: Redo how the fake debug mutexes are done + so it detects deadlocks and also we actually init threads when debugging. 2003-04-06 Havoc Pennington @@ -1410,7 +3028,7 @@ 2003-04-06 Havoc Pennington * bus/bus.c (bus_context_new): fix wrong handling of - server_data_slot_unref() in the error case. + server_data_slot_unref() in the error case. * dbus/dbus-internals.h (_dbus_assert): change so it passes "(condition) != 0" to _dbus_real_assert so that @@ -1424,10 +3042,10 @@ * dbus/dbus-transport.c (_dbus_transport_open): special error for "tmpdir" option to unix: address on client side - * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option + * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option to unix: address - - * configure.in (TEST_SOCKET_DIR): locate a temporary directory + + * configure.in (TEST_SOCKET_DIR): locate a temporary directory we can use to create sockets in the test suite. * bus/main.c (signal_handler): on SIGTERM, exit the daemon @@ -1448,22 +3066,22 @@ 2003-04-05 Havoc Pennington - * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't - crash on startup. Need to get "try starting the daemon" + * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't + crash on startup. Need to get "try starting the daemon" in the test suite I guess. ;-) * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that - tracked the number of open connections; it's better done in + tracked the number of open connections; it's better done in application-specific code as you want it to span all servers etc. 2003-04-05 Havoc Pennington - * bus/Makefile.am (install-data-hook): add missing DESTDIR, + * bus/Makefile.am (install-data-hook): add missing DESTDIR, patch from Colin Walters 2003-04-05 Havoc Pennington - * doc/config-file.txt (Elements): fix docs of to reflect + * doc/config-file.txt (Elements): fix docs of to reflect reality; in fact multiple mechanisms are allowed. * dbus/dbus-internals.c (_dbus_real_assert) @@ -1480,21 +3098,21 @@ * NEWS: update * configure.in: 0.7 - + 2003-04-05 Havoc Pennington * dbus/dbus-string.c: docs warning - + * dbus/dbus-spawn.c: missing docs * dbus/dbus-memory.c (struct ShutdownClosure): missing docs 2003-04-05 Havoc Pennington - * bus/loop.c (bus_loop_iterate): fix the timeout code, using + * bus/loop.c (bus_loop_iterate): fix the timeout code, using magic from GLib - * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid + * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid to -1 once we've reaped the babysitter (_dbus_babysitter_handle_watch): do as much work as we can, not just one go of it @@ -1515,7 +3133,7 @@ * Makefile.am (coverage-report.txt): add target "coverage-report.txt" - * test/decode-gcov.c: hack up a little program to suck data + * test/decode-gcov.c: hack up a little program to suck data out of gcov files. Yes this is sort of silly. * configure.in: define something in config.h and do an @@ -1528,15 +3146,15 @@ the spawned process and reap it when required. * test/test-segfault.c, test/test-exit.c, - test/test-sleep-forever.c: binaries that do various lame things, + test/test-sleep-forever.c: binaries that do various lame things, used in the test suite. * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string() - + 2003-04-03 Havoc Pennington - * dbus/dbus-spawn.c: Move dbus-spawn into a separate file - in preparation for modifying it, dbus-sysdeps is getting + * dbus/dbus-spawn.c: Move dbus-spawn into a separate file + in preparation for modifying it, dbus-sysdeps is getting a bit unmanageable. 2003-04-03 Havoc Pennington @@ -1558,41 +3176,41 @@ 2003-04-03 Havoc Pennington - * bus/config-parser.c (bus_config_parser_unref): free + * bus/config-parser.c (bus_config_parser_unref): free list of mechanisms, bug discovered by test suite enhancements (putting system.conf and session.conf into suite) * test/Makefile.am, test/test-service.c: add placeholder for a - test service that we'll activate as part of test suite. Doesn't + test service that we'll activate as part of test suite. Doesn't do anything yet. - * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by - setting NULL value, and use system malloc not dbus_malloc() + * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by + setting NULL value, and use system malloc not dbus_malloc() when we have unavoidable memleakage. * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0 didn't work, and support DBUS_BUS_ACTIVATION. - + * bus/activation.c (child_setup): pass our well-known bus type to the child * bus/config-parser.c: support to specify well-known type - * doc/dbus-specification.sgml: document the env variables to + * doc/dbus-specification.sgml: document the env variables to locate well-known buses and find service activator 2003-04-02 Havoc Pennington * test/Makefile.am (all-local): add a rule to copy tests to builddir, so we can have generated tests. Use this to remove the - silly hack for testing system.conf and session.conf. Will use this + silly hack for testing system.conf and session.conf. Will use this shortly to generate .service files pointing to test binaries. 2003-04-02 Havoc Pennington * dbus/dbus-string.c (set_length): fix a bug - we allocated max of current alloc and needed new length, not max of the doubled - allocation and needed new length. Also, when building tests, + allocation and needed new length. Also, when building tests, don't do the double-allocation stuff, just realloc every time. 2003-04-02 Havoc Pennington @@ -1639,13 +3257,13 @@ socket 0777, and unlink any existing socket. * bus/bus.c (bus_context_new): change our UID/GID and fork if - the configuration file so specifies; set up auth mechanism + the configuration file so specifies; set up auth mechanism restrictions * bus/config-parser.c (bus_config_parser_content): add support - for option and fill in code for + for option and fill in code for - * bus/system.conf.in: add to default configuration, + * bus/system.conf.in: add to default configuration, and limit auth mechanisms to EXTERNAL * doc/config-file.txt (Elements): add @@ -1655,7 +3273,7 @@ 2003-03-31 Havoc Pennington - * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket) + * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket) (_dbus_listen_unix_socket): fix off-by-one error in null termination spotted by Nalin @@ -1677,10 +3295,10 @@ 2003-03-31 Havoc Pennington Fix some annoying DBusString API and fix all affected code. - + * dbus/dbus-string.c (_dbus_string_init): get rid of annoying max_length argument - (_dbus_string_get_data): change to return string instead of using + (_dbus_string_get_data): change to return string instead of using an out param (_dbus_string_get_const_data): ditto (_dbus_string_get_data_len): ditto @@ -1693,7 +3311,7 @@ 2003-03-31 Havoc Pennington * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to - define DBUS_SYSTEM_BUS_PATH as we want to compile in the same + define DBUS_SYSTEM_BUS_PATH as we want to compile in the same final location that lands in the config file * bus/config-loader-expat.c (bus_config_load): fix type of @@ -1713,7 +3331,7 @@ * bus/main.c (main): take the configuration file as an argument. - * test/data/valid-config-files/debug-allow-all.conf: new file to + * test/data/valid-config-files/debug-allow-all.conf: new file to use with dispatch.c tests for example * bus/test-main.c (main): require test data dir @@ -1724,7 +3342,7 @@ * doc/config-file.txt (Elements): add * bus/system.conf, bus/session.conf: new files - + * dbus/dbus-bus.c (dbus_bus_get): look for system bus on well-known socket if none set @@ -1733,8 +3351,8 @@ 2003-03-30 Havoc Pennington * bus/config-parser.c: hacking - - * dbus/dbus-memory.c: don't use DBusList for the list of stuff + + * dbus/dbus-memory.c: don't use DBusList for the list of stuff to shut down, since it could cause weirdness with the DBusList lock @@ -1760,13 +3378,13 @@ * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get): * dbus/dbus-bus.h: Add dbus_bus_get. - + * dbus/dbus-memory.c: Fix a doc comment. - + 2003-03-28 Havoc Pennington - * bus/test.c (bus_test_flush_bus): remove the sleep from here, + * bus/test.c (bus_test_flush_bus): remove the sleep from here, I think it may have just been superstition. Not sure. * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM @@ -1792,10 +3410,10 @@ * doc/TODO: Add note about automatic service activation. - + * doc/dbus-specification.sgml: Rename the specification and clarify a few things. - + 2003-03-26 Anders Carlsson * Doxyfile.in: @@ -1805,7 +3423,7 @@ * dbus/dbus-server-debug-pipe.c: * dbus/dbus-transport-unix.c: Fix documentation warnings. - + 2003-03-26 Havoc Pennington * bus/test-main.c, dbus/dbus-test.c (main): check memleaks @@ -1824,11 +3442,11 @@ 2003-03-25 Havoc Pennington * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR - + * configure.in: add --with-xml option to specify XML library, right now only libxml is supported. - * bus/config-loader-libxml.c, config-parser.c: sync some minor + * bus/config-loader-libxml.c, config-parser.c: sync some minor nonworking code between home and work, still just stubs 2003-03-24 Havoc Pennington @@ -1836,8 +3454,8 @@ * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this file - * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow - NULL argument for "message" if the error is a well-known one, + * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow + NULL argument for "message" if the error is a well-known one, fill in a generic message in this case. * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in @@ -1849,20 +3467,20 @@ 2003-03-24 Havoc Pennington - * bus/connection.c (bus_connections_setup_connection): set up - the "can this user connect" function, but it always returns + * bus/connection.c (bus_connections_setup_connection): set up + the "can this user connect" function, but it always returns TRUE until we have a config file parser so we can have a config file that allows connections. 2003-03-23 Havoc Pennington - * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with - DBUS_BUILD_TESTS, actually alloc/free a block of memory for - the mutex, so we can check for proper memory management + * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with + DBUS_BUILD_TESTS, actually alloc/free a block of memory for + the mutex, so we can check for proper memory management and OOM handling. * dbus/dbus-dataslot.c: remove the mutex from - DBusDataSlotAllocator and lock it manually when using it, + DBusDataSlotAllocator and lock it manually when using it, to simplify fitting it into the global slots framework. * dbus/dbus-threads.c (init_static_locks): rework how we're @@ -1872,17 +3490,17 @@ * bus/test-main.c (main): check for memleaks - * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make + * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make test suite check for memleaks - * dbus/dbus-memory.c: add support in test mode for tracking + * dbus/dbus-memory.c: add support in test mode for tracking number of outstanding blocks 2003-03-23 Havoc Pennington * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny policies code - + * dbus/dbus-hash.h: add ULONG hash keys * dbus/dbus-sysdeps.c (_dbus_get_groups): new @@ -1909,7 +3527,7 @@ 2003-03-19 Havoc Pennington - * bus/policy.c: start sketching code for policy restrictions on + * bus/policy.c: start sketching code for policy restrictions on what connections can do. 2003-03-18 Havoc Pennington @@ -1924,14 +3542,14 @@ * configure.in: 0.6 * NEWS: Update. - + 2003-03-17 Havoc Pennington - * dbus/dbus-internals.h: add gcc attributes so that - our printf-style functions warn on bad arguments to + * dbus/dbus-internals.h: add gcc attributes so that + our printf-style functions warn on bad arguments to format - - * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf + + * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf format bug * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix @@ -1939,10 +3557,10 @@ 2003-03-17 Havoc Pennington - * bus/test-main.c (main): make it print something as it runs + * bus/test-main.c (main): make it print something as it runs so make check doesn't look stuck - * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove + * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove from CVS, now obsolete 2003-03-17 Anders Carlsson @@ -1950,15 +3568,15 @@ * bus/dispatch.c: (bus_dispatch): Refetch the service name since it may have been reallocated when dbus_message_set_sender was called. - + * dbus/dbus-sysdeps.c: (_dbus_accept): Add address and address length variables and use them to stop valgrind from complaining. - + 2003-03-17 Havoc Pennington All tests pass, no memleaks, no valgrind complaints. - + * bus/test.c: refcount handler_slot * bus/connection.c (bus_connections_new): refcount @@ -2005,22 +3623,22 @@ * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): add some missing dbus_set_result - * bus/dispatch.c (bus_dispatch_add_connection): handle failure to + * bus/dispatch.c (bus_dispatch_add_connection): handle failure to alloc the DBusMessageHandler * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref - the transport here, since we call this from the finalizer; it + the transport here, since we call this from the finalizer; it resulted in a double-finalize. - * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug - where we tried to use transport->connection that was NULL, + * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug + where we tried to use transport->connection that was NULL, happened when transport was disconnected early on due to OOM * bus/*.c: adapt to handle OOM for watches/timeouts - * dbus/dbus-transport-unix.c: port to handle OOM during + * dbus/dbus-transport-unix.c: port to handle OOM during watch handling - + * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a reference to unused bytes instead of a copy @@ -2037,7 +3655,7 @@ * doc/dbus-specification.sgml: Document reply message for ActivateService. - + 2003-03-16 Anders Carlsson * bus/activation.c: (bus_pending_activation_entry_free), @@ -2057,7 +3675,7 @@ * dbus/dbus-protocol.h: Make activation work better. Now pending activations will be queued and the daemon won't try to activate services that are already registered. - + 2003-03-16 Havoc Pennington * dbus/dbus-bus.c (ensure_bus_data): handle failure to set @@ -2073,8 +3691,8 @@ * bus/*: adapt to DBusConnection API changes - * glib/dbus-gmain.c: adapt to DBusConnection API changes, - requires renaming stuff to avoid dbus_connection_dispatch name + * glib/dbus-gmain.c: adapt to DBusConnection API changes, + requires renaming stuff to avoid dbus_connection_dispatch name conflict. * dbus/dbus-transport.c (_dbus_transport_queue_messages): new @@ -2100,7 +3718,7 @@ * dbus/dbus-connection.c: (dbus_connection_send_with_reply_and_block): - Decrease connection->n_incoming when removing an entry + Decrease connection->n_incoming when removing an entry from the list. * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array), @@ -2109,7 +3727,7 @@ (dbus_dict_get_boolean_array), (dbus_dict_get_double_array), (dbus_dict_get_byte_array): Handle NULL arrays and strings. Also add support for byte arrays. - + * dbus/dbus-marshal.c: (_dbus_marshal_byte_array), (_dbus_marshal_dict), (_dbus_demarshal_byte_array), (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array), @@ -2118,7 +3736,7 @@ (_dbus_marshal_validate_arg), (_dbus_marshal_test): * dbus/dbus-marshal.h: Add support for marshalling and demarshalling empty arrays and strings. - + * dbus/dbus-message.c: (dbus_message_append_args_valist), (dbus_message_append_string_array), (dbus_message_iter_get_boolean), @@ -2130,14 +3748,14 @@ (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict), (check_message_handling): Add support for getting empty arrays and dicts. - + * dbus/dbus-string.c: (_dbus_string_validate_utf8): Don't do any validation at all for now, that's better than just checking for ASCII. - + * test/data/valid-messages/emptiness.message: New test message with lots of empty arrays. - + 2003-03-16 Havoc Pennington * dbus/dbus-connection.c @@ -2145,7 +3763,7 @@ can't fail due to OOM * dbus/dbus-message.c (_dbus_message_loader_pop_message_link): - new function pops a message together with a list link + new function pops a message together with a list link containing it. * dbus/dbus-transport-unix.c (queue_messages): use new link-based @@ -2160,20 +3778,20 @@ in the shared lib, and only daemon mallocs were tested. In any case, the test case now tests all 500+ mallocs, and doesn't pass yet, though there are lots of fixes in this patch. - + * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix - this so that it doesn't need to allocate memory, since it - has no way of indicating failure due to OOM (and would be + this so that it doesn't need to allocate memory, since it + has no way of indicating failure due to OOM (and would be annoying if it did). * dbus/dbus-list.c (_dbus_list_pop_first_link): new function * bus/Makefile.am: rearrange to create two self-contained - libraries, to avoid having libraries with overlapping symbols. - that was resulting in weirdness, e.g. I'm pretty sure there + libraries, to avoid having libraries with overlapping symbols. + that was resulting in weirdness, e.g. I'm pretty sure there were two copies of global static variables. - * dbus/dbus-internals.c: move the malloc debug stuff to + * dbus/dbus-internals.c: move the malloc debug stuff to dbus-memory.c * dbus/dbus-list.c (free_link): free list mempool if it becomes @@ -2185,15 +3803,15 @@ on failure. * bus/dispatch.c (bus_dispatch_add_connection): free - message_handler_slot when no longer using it, so + message_handler_slot when no longer using it, so memory leak checkers are happy for the test suite. * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name - * bus/bus.c (new_connection_callback): disconnect in here if + * bus/bus.c (new_connection_callback): disconnect in here if bus_connections_setup_connection fails. - * bus/connection.c (bus_connections_unref): fix to free the + * bus/connection.c (bus_connections_unref): fix to free the connections (bus_connections_setup_connection): if this fails, don't disconnect the connection, just be sure there are no side @@ -2203,11 +3821,11 @@ * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were leaking - (_dbus_auth_new): fix the order in which we free strings + (_dbus_auth_new): fix the order in which we free strings on OOM failure - * bus/connection.c (bus_connection_disconnected): fix to - not send ServiceDeleted multiple times in case of memory + * bus/connection.c (bus_connection_disconnected): fix to + not send ServiceDeleted multiple times in case of memory allocation failure * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to @@ -2217,18 +3835,18 @@ function for it. (dbus_bus_register_client): rename dbus_bus_register() - * bus/dispatch.c (check_hello_message): verify that other - connections on the bus also got the correct results, not + * bus/dispatch.c (check_hello_message): verify that other + connections on the bus also got the correct results, not just the one sending hello 2003-03-15 Havoc Pennington Make it pass the Hello handling test including all OOM codepaths. Now to do other messages... - + * bus/services.c (bus_service_remove_owner): fix crash when removing owner from an empty list of owners - (bus_registry_ensure): don't leave service in the list of + (bus_registry_ensure): don't leave service in the list of a connection's owned services if we fail to put the service in the hash table. @@ -2243,7 +3861,7 @@ needed. (unix_connection_set): this can now fail on OOM - * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept + * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept of enabling/disabling a watch or timeout. * bus/loop.c (bus_loop_iterate): don't touch disabled @@ -2262,69 +3880,69 @@ watch). To fix this, I think we need to add new stuff to set_watch_functions, namely a SetEnabled function so we can alloc the watch earlier, then enable it later. - + * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move dbus-memory.c to the convenience lib - * bus/test.c: rename some static functions to keep them clearly + * bus/test.c: rename some static functions to keep them clearly distinct from stuff in connection.c. Handle client disconnection. 2003-03-14 Havoc Pennington - * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe - transport, tests more of the real codepath. Set up clients + * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe + transport, tests more of the real codepath. Set up clients with bus_setup_debug_client. - * bus/test.c (bus_setup_debug_client): function to set up debug + * bus/test.c (bus_setup_debug_client): function to set up debug "clients" on the main loop - * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe + * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe support - * dbus/dbus-server.c (dbus_server_listen): add debug-pipe + * dbus/dbus-server.c (dbus_server_listen): add debug-pipe server type * dbus/dbus-server-debug.c: support a debug server based on pipes * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function (_dbus_close): new function - + * configure.in: check for socketpair 2003-03-14 Havoc Pennington - * dbus/dbus-memory.c: add a "detect buffer overwrites on free" + * dbus/dbus-memory.c: add a "detect buffer overwrites on free" cheesy hack - * dbus/dbus-transport-debug.c: rework this a good bit to be + * dbus/dbus-transport-debug.c: rework this a good bit to be less complicated. hopefully still works. * dbus/dbus-server-debug.c (handle_new_client): remove timeout manually - * glib/dbus-gmain.c (timeout_handler): don't remove timeout + * glib/dbus-gmain.c (timeout_handler): don't remove timeout after running it - * dbus/dbus-message.c (dbus_message_copy): rename from - dbus_message_new_from_message, fix it up to copy + * dbus/dbus-message.c (dbus_message_copy): rename from + dbus_message_new_from_message, fix it up to copy all the message fields, add test case - * bus/dispatch.c (bus_dispatch_test): add some more test code, + * bus/dispatch.c (bus_dispatch_test): add some more test code, not quite passing yet 2003-03-14 Havoc Pennington * bus/loop.c (bus_loop_iterate): add this so we can "run loop - until no work remains" in test code. (the large diff here + until no work remains" in test code. (the large diff here is just code movement, no actual changes) * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to 1, no point waiting around for test code. - (_dbus_server_debug_accept_transport): unref the timeout + (_dbus_server_debug_accept_transport): unref the timeout after adding it (right?) * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto - + 2003-03-13 Havoc Pennington * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle @@ -2352,33 +3970,33 @@ * bus/dispatch.c (bus_dispatch_test): started adding this but didn't finish - + 2003-03-14 Anders Carlsson * bus/dispatch.c (send_service_nonexistent_error): Fix typo. 2003-03-13 Havoc Pennington - * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c: + * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c: set up a test framework as for the library 2003-03-12 Havoc Pennington - Throughout: purge global variables, introduce BusActivation, + Throughout: purge global variables, introduce BusActivation, BusConnections, BusRegistry, etc. objects instead. - - * bus/bus.h, bus/bus.c: introduce BusContext as a global + + * bus/bus.h, bus/bus.c: introduce BusContext as a global message bus object - * test/Makefile.am (TEST_BINARIES): disable bus-test for now, + * test/Makefile.am (TEST_BINARIES): disable bus-test for now, going to redo this a bit differently I think - + 2003-03-12 Havoc Pennington - Mega-patch that gets the message bus daemon initially handling - out-of-memory. Work still needed. Also lots of random + Mega-patch that gets the message bus daemon initially handling + out-of-memory. Work still needed. Also lots of random moving stuff to DBusError instead of ResultCode. - + * dbus/dbus-list.c (_dbus_list_length_is_one): new function * dbus/dbus-connection.c @@ -2394,7 +4012,7 @@ rename bus_connection_disconnected as it's a notification only * bus/driver.c (bus_driver_handle_acquire_service): don't free - "name" on get_args failure, should be done by get_args; + "name" on get_args failure, should be done by get_args; don't disconnect client for bad args, just return an error. (bus_driver_handle_service_exists): ditto @@ -2416,8 +4034,8 @@ * bus/connection.c (bus_connection_foreach): allow stopping iteration by returning FALSE from foreach function. - * dbus/dbus-connection.c (dbus_connection_send_preallocated) - (dbus_connection_free_preallocated_send) + * dbus/dbus-connection.c (dbus_connection_send_preallocated) + (dbus_connection_free_preallocated_send) (dbus_connection_preallocate_send): new API for sending a message without possibility of malloc failure. (dbus_connection_send_message): rename to just @@ -2437,23 +4055,23 @@ 2003-03-10 Anders Carlsson - * dbus/dbus-marshal.c: + * dbus/dbus-marshal.c: (_dbus_marshal_set_string): Take a length argument so we can marshal the correct string length. - + (_dbus_marshal_dict), (_dbus_demarshal_dict), (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg), (_dbus_marshal_test): - * dbus/dbus-marshal.h: + * dbus/dbus-marshal.h: Add support for marshalling and demarshalling dicts. - + * dbus/dbus-message-builder.c: (_dbus_message_data_load): Add support for TYPE DICT. - + * dbus/dbus-message.c: (set_string_field): Adjust header padding. - + (dbus_message_append_args_valist), (dbus_message_append_dict), (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type), (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer), @@ -2463,13 +4081,13 @@ * dbus/dbus-protocol.h: Add DBUS_TYPE_DICT. - + * dbus/dbus.h: Add dbus-dict.h - + * doc/dbus-specification.sgml: Add information about how dicts are marshalled. - + * test/data/invalid-messages/dict-with-nil-value.message: * test/data/invalid-messages/too-short-dict.message: * test/data/valid-messages/dict-simple.message: @@ -2492,7 +4110,7 @@ (dbus_dict_set_string_array), (_dbus_dict_test): * dbus/dbus-dict.h: Fix according to comments from Havoc. - + 2003-03-06 Michael Meeks * configure.in: if we don't have kde-config, disable have_qt. @@ -2501,7 +4119,7 @@ * dbus/Makefile.am: Add dbus-dict.[ch] - + * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new), (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains), (dbus_dict_remove), (dbus_dict_get_value_type), @@ -2518,11 +4136,11 @@ (dbus_dict_get_string_array), (_dbus_dict_test): * dbus/dbus-dict.h: Add DBusDict implementation - + * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests): * dbus/dbus-test.h: Add _dbus_dict_test - + 2003-03-04 Havoc Pennington * test/data/auth/*: adapt to changes @@ -2532,15 +4150,15 @@ userid * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent - more stuff from being in a context name, to make the protocol + more stuff from being in a context name, to make the protocol simpler to deal with * dbus/dbus-errors.c (dbus_error_has_name): new function (dbus_error_is_set): new function - * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth + * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1 - + * dbus/dbus-connection.c (dbus_connection_flush): also read messages during a flush operation @@ -2552,10 +4170,10 @@ * dbus/dbus-transport.c: (_dbus_transport_open): Remove duplicate "tcp" entry. - + * doc/dbus-specification.sgml: Clarify some things. - + 2003-03-05 Anders Carlsson * dbus/dbus-auth.c: (send_rejected), (process_test_subdir): @@ -2580,7 +4198,7 @@ sets really huge and small integers * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check - that length of boolean array fits in the string, and that + that length of boolean array fits in the string, and that string has room for boolean value in single-bool case. * dbus/dbus-message-builder.c (_dbus_message_data_load): add @@ -2614,7 +4232,7 @@ 2003-02-27 Alexander Larsson - * glib/Makefile.am: + * glib/Makefile.am: * configure.in: Make gthreads-2.0 dependency optional. Don't build thread test if its not found. @@ -2625,14 +4243,14 @@ (dbus_connection_send_message_with_reply_and_block): fix doh! doh! doh! bug that resulted in never removing a reply from the queue, no wonder we called get_reply_serial so much ;-) - + * dbus/dbus-message.c (struct DBusMessage): cache reply serial and client serial instead of demarshaling them every time 2003-02-27 Havoc Pennington * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much - more inlined, using dbus-string-private.h, speeds things up + more inlined, using dbus-string-private.h, speeds things up substantially * dbus/dbus-string.c (_dbus_string_free): apply align offset @@ -2642,17 +4260,17 @@ 2003-02-26 Havoc Pennington - All kinds of audit fixes from Owen, plus initial attempt to + All kinds of audit fixes from Owen, plus initial attempt to handle unaligned memory returned from malloc. - - * dbus/dbus-string.c (_dbus_string_init): clamp max length to + + * dbus/dbus-string.c (_dbus_string_init): clamp max length to leave room for align_offset and nul byte - (fixup_alignment): function to track an align_offset and + (fixup_alignment): function to track an align_offset and ensure real->str is aligned - (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated, + (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated, to allow a nul byte plus align offset (_dbus_string_lock): fix overflow issue - (_dbus_string_init_const_len): add assertions on sanity of len, + (_dbus_string_init_const_len): add assertions on sanity of len, assign allocated to be ALLOCATION_PADDING larger than len (set_length): fixup the overflow handling (_dbus_string_get_data_len): fix overflow in assertion @@ -2664,16 +4282,16 @@ (_dbus_string_delete): fix overflow in assertion (_dbus_string_copy_len): overflow in assertion (_dbus_string_replace_len): overflows in assertions - (_dbus_string_find): change to implement in terms of + (_dbus_string_find): change to implement in terms of _dbus_string_find_to (_dbus_string_find_to): assorted fixage - (_dbus_string_equal_c_str): assert c_str != NULL, + (_dbus_string_equal_c_str): assert c_str != NULL, fix logic so the function works (_dbus_string_ends_with_c_str): fix overflow thingy (_dbus_string_base64_encode): overflow fix (_dbus_string_validate_ascii): overflow (_dbus_string_validate_nul): overflow - + 2003-02-26 Havoc Pennington * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS @@ -2682,29 +4300,29 @@ * configure.in: Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0 - + * dbus/dbus-connection.c: * dbus/dbus-connection.h: Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch. Add dbus_connection_set_wakeup_main_function and use it when queueing incoming and outgoing messages. - - + + * dbus/dbus-dataslot.c: Threadsafe usage of DBusDataSlotAllocator - + * dbus/dbus-message.c: (dbus_message_get_args_iter): dbus_new can fail. - + * dbus/dbus-server-unix.c: Add todo comment - + * glib/dbus-gmain.c: Implement the new wakeup functions for glib. - + * glib/Makefile.am: - * glib/test-thread-client.c: - * glib/test-thread-server.c: + * glib/test-thread-client.c: + * glib/test-thread-server.c: * glib/test-thread.h: Initial cut at some thread test code. Not really done yet. @@ -2718,7 +4336,7 @@ at the end of this function, so if we didn't need to read for authentication, we reinstall it for receiving messages - * dbus/dbus-message.c (dbus_message_new_reply): allow replies to + * dbus/dbus-message.c (dbus_message_new_reply): allow replies to a NULL sender for peer-to-peer case * dbus/dbus-transport-unix.c (check_read_watch): handle @@ -2736,9 +4354,9 @@ * Doxyfile.in (INPUT): add glib subdir - * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename + * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename setup_with_g_main instead of hookup_with_g_main; write docs - + 2003-02-24 Anders Carlsson * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg): @@ -2749,11 +4367,11 @@ * dbus/dbus-message.h: * doc/dbus-specification.sgml: Various fixes as pointed out by Havoc. - + * test/data/invalid-messages/bad-boolean-array.message: * test/data/invalid-messages/bad-boolean.message: Add invalid boolean value test cases. - + 2003-02-24 Anders Carlsson * dbus/dbus-internals.c: (_dbus_type_to_string): @@ -2771,10 +4389,10 @@ * doc/dbus-specification.sgml: * test/data/valid-messages/lots-of-arguments.message: Add support for boolean and boolean array types. - + 2003-02-23 Havoc Pennington - * dbus/dbus-keyring.c: finish most of this implementation and + * dbus/dbus-keyring.c: finish most of this implementation and simple unit test * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make @@ -2793,7 +4411,7 @@ * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode - * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use + * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use the save-to-temp/rename trick to atomically write the new file (_dbus_string_parse_uint): new function @@ -2814,25 +4432,25 @@ * dbus/dbus-marshal.c: (_dbus_demarshal_string_array): Make string arrays NULL-terminated. - + * dbus/dbus-memory.c: (dbus_free_string_array): * dbus/dbus-memory.h: New function for freeing NULL-terminated string arrays. - + * dbus/dbus-message-builder.c: (append_quoted_string), (_dbus_message_data_load): Add support for array types. - + * dbus/dbus-message.c: (check_message_handling): Add more types as test cases. - + * dbus/dbus-sysdeps.c: (_dbus_string_parse_int), (_dbus_string_parse_double): Add the start offset to the end offset. - + * test/data/valid-messages/lots-of-arguments.message: New test message with lots of arguments. - + 2003-02-21 Anders Carlsson * dbus/dbus-message.c: (dbus_message_append_nil), @@ -2849,7 +4467,7 @@ * dbus/dbus-message.c: (dbus_message_append_nil): Fix a silly. - + 2003-02-21 Anders Carlsson * dbus/dbus-message.c: (dbus_message_append_args_valist), @@ -2866,7 +4484,7 @@ * dbus/dbus-message.h: Add functions for appending and getting arrays. - + 2003-02-21 Anders Carlsson * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the @@ -2879,7 +4497,7 @@ Unlock the connection mutex during a blocking select call. Add todo about how we need a way to wake up the select. - * dbus/dbus-connection-internal.h: + * dbus/dbus-connection-internal.h: * dbus/dbus-connection.c: Add _dbus_connection_lock and _dbus_connection_unlock. @@ -2895,7 +4513,7 @@ * dbus/dbus-errors.c (dbus_set_error_const): do not call dbus_error_init (dbus_set_error): remove dbus_error_init, check for message == - NULL *before* we sprintf into it, and add @todo about including + NULL *before* we sprintf into it, and add @todo about including system headers in this file * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new @@ -2903,7 +4521,7 @@ * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add * dbus/dbus-sysdeps.c (get_user_info): break this function out to - get various bits of user information based on either username + get various bits of user information based on either username or user ID (_dbus_homedir_from_username): new function @@ -2911,22 +4529,22 @@ * configure.in: Add check for nonposix getpwnam_r - + * dbus/dbus-mempool.c: (_dbus_mem_pool_new): Align the pool element size to a sizeof (void *) boundary. - + * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket), (_dbus_listen_unix_socket), (_dbus_credentials_from_username): General Solaris fixes. - + * test/data/valid-messages/simplest-manual.message: Explicitly state that we want little-endian packing. - + 2003-02-19 Mikael Hallendal * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses. - * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket): + * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket): Added to create a transport connecting using a tcp/ip socket. * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect @@ -2936,14 +4554,14 @@ * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses. - * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): + * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): Added to create a server listening on a TCP/IP socket. 2003-02-19 Havoc Pennington Throughout: mop up all the Doxygen warnings and undocumented stuff. - + * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want to search any paths. @@ -2952,10 +4570,10 @@ besides being kind of ugly * Doxyfile (PREDEFINED): have Doxygen define - DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from + DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS - (do not abuse the feature! it's for stuff like the autogenerated - macros in dbus-md5.c, not just for things you don't feel like + (do not abuse the feature! it's for stuff like the autogenerated + macros in dbus-md5.c, not just for things you don't feel like documenting...) 2003-02-18 Havoc Pennington @@ -3004,14 +4622,14 @@ 2003-02-17 Anders Carlsson Release 0.4 - + * NEWS: Update 2003-02-17 Anders Carlsson * doc/dbus-specification.sgml: Specification updates. - + 2003-02-17 Anders Carlsson * bus/activation.c: (bus_activation_init), (child_setup), @@ -3019,21 +4637,21 @@ * bus/activation.h: * bus/main.c: (main): Set DBUS_ADDRESS environment variable. - + * dbus/dbus-errors.c: (dbus_set_error): Don't use va_copy since that's a C99 feature. - + * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec), (_dbus_spawn_async): * dbus/dbus-sysdeps.h: Add child_setup_func to _dbus_spawn_async. - + * doc/dbus-specification.sgml: Update specification. - + * test/spawn-test.c: (setup_func), (main): Fix test. - + 2003-02-17 Alexander Larsson * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked): @@ -3045,10 +4663,10 @@ * doc/Makefile.am: * doc/dbus-test-plan.sgml: Add test plan document. - + * test/Makefile.am: Fix distcheck. - + 2003-02-17 Anders Carlsson * dbus/dbus-message.c: (decode_header_data), @@ -3059,11 +4677,11 @@ * bus/dispatch.c: (send_one_message): Only send broadcast messages to registered connections. - + * dbus/dbus-message.c: (dbus_message_name_is): * dbus/dbus-message.h: New convenience function. - + * dbus/dbus-transport-debug.c: (do_reading): Only dispatch one message per run. @@ -3074,7 +4692,7 @@ * test/bus-test-loop.[ch]: Add these. - + 2003-02-16 Havoc Pennington * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix @@ -3086,7 +4704,7 @@ Implement sent_message_with_reply. (with_reply_and block is still busted). Made dispatch_message not lose message if OOM. - + * dbus/dbus-errors.h: Add NoReply error (for reply timeouts). @@ -3099,51 +4717,51 @@ * dbus/dbus-auth.c: (client_try_next_mechanism): Plug a leak. - + * dbus/dbus-threads.c: (dbus_condvar_wait_timeout): Return TRUE if there's no thread implementation around. - + * glib/dbus-gmain.c: (free_source), (dbus_connection_hookup_with_g_main): Make sure to remove the GSource when the connection is finalized. - + 2003-02-16 Anders Carlsson * bus/dispatch.c: (bus_dispatch_message_handler): * dbus/dbus-errors.h: Return an error if someone tries to send a message to a service that doesn't exist. - + 2003-02-16 Anders Carlsson * bus/activation.c: (load_directory), (bus_activation_init), (bus_activation_activate_service): * bus/activation.h: - * bus/driver.c: + * bus/driver.c: (bus_driver_handle_activate_service), (bus_driver_handle_message): More work on the activation handling. - + * dbus/dbus-errors.h: Add some error messages - + * dbus/dbus-message.c: (dbus_message_new_error_reply): * dbus/dbus-message.h: New function that creates an error message. - + * dbus/dbus-protocol.h: Add ACTIVATE_SERVER message. - + * dbus/dbus-server-unix.c: (unix_handle_watch), (_dbus_server_new_for_domain_socket): Call _dbus_fd_set_close_on_exec. - + * dbus/dbus-sysdeps.c: (make_pipe), (do_exec), (_dbus_spawn_async), (_dbus_disable_sigpipe), (_dbus_fd_set_close_on_exec): * dbus/dbus-sysdeps.h: Add _dbus_fd_set_close_on exec function. Also add function that checks that all open fds are set to close-on-exec and warns otherwise. - + * dbus/dbus-transport-unix.c: (_dbus_transport_new_for_domain_socket): Call _dbus_fd_set_close_on_exec. @@ -3152,7 +4770,7 @@ * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe): allow people to avoid setting SIGPIPE to SIG_IGN - (_dbus_connection_new_for_transport): disable SIGPIPE unless + (_dbus_connection_new_for_transport): disable SIGPIPE unless we've been asked not to 2003-02-15 Anders Carlsson @@ -3181,24 +4799,24 @@ * dbus/dbus-errors.c: (dbus_set_error): * dbus/dbus-errors.h: Add a few errors and make dbus_set_error void. - - * dbus/dbus-sysdeps.c: + + * dbus/dbus-sysdeps.c: (_dbus_errno_to_string), (close_and_invalidate), (make_pipe), (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async): * dbus/dbus-sysdeps.h: Add _dbus_spawn_async. - + * test/spawn-test.c: (main): Test for _dbus_spawn_async. - + 2003-02-15 Anders Carlsson * dbus/dbus-internals.h: Fix build without tests. - + * dbus/dbus-list.c: (alloc_link): Fix a segfault when a malloc fails. - + * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc), (dbus_malloc0), (dbus_realloc): Add support for malloc debugging. @@ -3209,12 +4827,12 @@ * dbus/dbus-threads.h: Add condvars. Remove static mutext from API. Implement static mutexes by initializing them from threads_init. - + * glib/dbus-gthread.c: * qt/dbus-qthread.cpp: Update with the thread api changes. - + * dbus/dbus-list.c: * dbus/dbus-list.h: Turn StaticMutex into normal mutex + init function. @@ -3222,18 +4840,18 @@ _dbus_list_append_link, _dbus_list_prepend_link - * dbus/dbus-sysdeps.c: + * dbus/dbus-sysdeps.c: * dbus/dbus-sysdeps.h: New type dbus_atomic_t, and new functions _dbus_atomic_inc, _dbus_atomic_dec. Only slow fallback implementation at the moment. - + * dbus/dbus-protocol.h: Add DBUS_MESSAGE_LOCAL_DISCONNECT define - + * dbus/dbus-message.c: Make ref/unref atomic. Fix some docs. - + * dbus/dbus-connection-internal.h: * dbus/dbus-connection.c: * dbus/dbus-connection.h: @@ -3241,23 +4859,23 @@ Change _peek to _borrow,_return & _steal_borrowed. Change disconnect callback to event. Make dbus_connection_dispatch_messages reentrant. - + * dbus/dbus-transport.c: Don't ref the connection on calls to the transport implementation. - + * dbus/dbus-message-handler.c: Make threadsafe. - + * glib/dbus-gmain.c: Don't use peek_message anymore - + * test/Makefile.am: * test/debug-thread.c: * test/debug-thread.h: Simple thread implementation that asserts() on deadlocks in single-threaded code. - + * test/bus-test.c: (main) Call debug_threads_init. @@ -3268,10 +4886,10 @@ * bus/connection.h: Don't call dbus_connection_set_disconnect_function. Instead export bus_connection_disconnect. - + * bus/dispatch.c: Call bus_connection_disconnect when we get a disconnected message. - + 2003-02-15 Havoc Pennington * dbus/dbus-message.c (dbus_message_new): fool around with the @@ -3285,12 +4903,12 @@ should * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter) - (_dbus_decrement_fail_alloc_counter): debug functions to + (_dbus_decrement_fail_alloc_counter): debug functions to simulate memory allocation failures 2003-02-14 Havoc Pennington - * dbus/dbus-errors.h (struct DBusError): add a word of padding + * dbus/dbus-errors.h (struct DBusError): add a word of padding to DBusError 2003-02-13 Anders Carlsson @@ -3299,10 +4917,10 @@ * bus/driver.h: * bus/services.c: (bus_service_lookup): Reorder message sending so we get a more sane order. - + * test/bus-test.c: (message_handler): Fix tyop. - + 2003-02-13 Anders Carlsson * bus/driver.c: (bus_driver_send_service_deleted), @@ -3327,10 +4945,10 @@ * test/bus-test.c: (main): Change fields to arguments in messages, so that they won't be confused with header fields. - + * glib/test-dbus-glib.c: (main): Remove append_fields from hello message. - + 2003-02-13 Anders Carlsson * dbus/dbus-errors.c: @@ -3343,36 +4961,36 @@ * glib/dbus-gmain.c: (timeout_handler), (add_timeout), (remove_timeout): Implement support for timeouts in dbus-glib. - + 2003-02-13 Anders Carlsson * dbus/dbus-message-builder.c: (_dbus_message_data_load): * dbus/dbus-message.c: (process_test_subdir): * test/break-loader.c: (find_breaks_based_on): Plug some memory leaks. - + 2003-02-13 Richard Hult * bus/main.c: Fix build. - * dbus/dbus-errors.h: + * dbus/dbus-errors.h: * dbus/dbus-errors.c: Fix copyright for Anders. 2003-02-13 Anders Carlsson * bus/Makefile.am: Add utils.[ch] - + * bus/connection.c: (bus_connection_foreach): Fix a warning. - + * bus/desktop-file.c: (grow_lines_in_section), (grow_sections), (unescape_string), (new_section), (parse_section_start), (parse_key_value), (report_error), (bus_desktop_file_load), (bus_desktop_file_get_string): * bus/desktop-file.h: Use DBusError for error reporting. - + * bus/dispatch.c: (send_one_message), (bus_dispatch_message_handler): * bus/driver.c: (bus_driver_send_service_deleted), @@ -3385,21 +5003,21 @@ * bus/loop.c: (bus_loop_run): * bus/main.c: Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM. - + * bus/utils.c: (bus_wait_for_memory): * bus/utils.h: New files with general utility functions. - + * dbus/dbus-internals.h: Remove _DBUS_HANDLE_OOM. - + 2003-02-13 Anders Carlsson * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init), (dbus_error_free), (dbus_set_error_const), (dbus_set_error): * dbus/dbus-errors.h: Add DBusError structure. - + 2003-02-13 Anders Carlsson * test/data/valid-messages/standard-acquire-service.message: @@ -3407,7 +5025,7 @@ * test/data/valid-messages/standard-list-services.message: * test/data/valid-messages/standard-service-exists.message: Add some standard messages. - + 2003-02-13 Anders Carlsson * bus/driver.c: (bus_driver_send_welcome_message), @@ -3415,7 +5033,7 @@ (bus_driver_handle_acquire_service), (bus_driver_handle_service_exists), (bus_driver_handle_message): Update for API changes in libdbus. - + * dbus/dbus-message.c: (dbus_message_new_reply): * dbus/dbus-message.h: Remove the name argument. The spec states that replies shouldn't @@ -3429,7 +5047,7 @@ (bus_desktop_file_get_string): * bus/desktop-file.h: Some fixes, and new functions for getting a key value from a section. - + 2003-02-13 Havoc Pennington * test/data/auth/fail-after-n-attempts.auth-script: new test @@ -3445,12 +5063,12 @@ * dbus/dbus-auth-script.c (_dbus_auth_script_run): support NO_CREDENTIALS and ROOT_CREDENTIALS - * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine - into here. Never process more commands after we've reached an + * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine + into here. Never process more commands after we've reached an end state; store further data as unused bytes. * test/data/auth/*: add more auth tests - + * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT command to match exact string and EXPECT_UNUSED to match unused bytes @@ -3478,11 +5096,11 @@ 2003-02-10 Havoc Pennington - * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync + * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync initial cut at test framework for DBusAuth from laptop. - Doesn't quite work yet but it compiles and I need to get + Doesn't quite work yet but it compiles and I need to get it off the 266mhz laptop. ;-) - + * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport): fix a memleak in error case @@ -3506,7 +5124,7 @@ 2003-02-06 Anders Carlsson Release 0.3 - + * NEWS: Update 2003-02-06 Anders Carlsson @@ -3519,7 +5137,7 @@ 2003-02-02 Havoc Pennington - * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files + * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files for code to manage cookies in your home directory * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function @@ -3536,7 +5154,7 @@ * doc/dbus-specification.sgml: Update address format section. - + 2003-02-02 Anders Carlsson * test/Makefile.am: @@ -3544,15 +5162,15 @@ (message_handler), (new_connection_callback), (loop_quit), (loop_run), (main): Add bus test. - + 2003-02-02 Anders Carlsson * bus/driver.c: (bus_driver_handle_service_exists): Simplify the code a bit. - + * dbus/dbus-bus.c: (dbus_bus_service_exists): - Fix a silly. - + Fix a silly. + 2003-02-02 Anders Carlsson * bus/Makefile.am: @@ -3567,7 +5185,7 @@ * bus/driver.c: (bus_driver_handle_service_exists): Don't unref the incoming message. - + 2003-02-02 Anders Carlsson * dbus/dbus.h: Add dbus-address.h and dbus-bus.h @@ -3577,7 +5195,7 @@ * dbus/dbus-server.c: (dbus_server_listen): * dbus/dbus-transport.c: (_dbus_transport_open): ifdef out the calls to the debug transport and server. - + 2003-02-02 Alexander Larsson * dbus/dbus-watch.c (dbus_watch_get_flags): @@ -3597,18 +5215,18 @@ (bus_driver_handle_hello): Don't take a name, just use a numeric id to identify each client. - + * dbus/Makefile.am: * dbus/dbus-bus.c: (dbus_bus_register_client), (dbus_bus_acquire_service), (dbus_bus_service_exists): * dbus/dbus-bus.h: Add new convenience functions for communicating with the bus. - + * dbus/dbus-message.h: - + * dbus/dbus-protocol.h: Fix a typo. - + 2003-02-01 Alexander Larsson * dbus/dbus-message.c (dbus_message_append_fields): @@ -3616,7 +5234,7 @@ 2003-02-01 Havoc Pennington - * dbus/dbus-break-loader.c (randomly_modify_length): change + * dbus/dbus-break-loader.c (randomly_modify_length): change a 4-byte value in the message as if it were a length * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set @@ -3631,23 +5249,23 @@ * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function * dbus/dbus-string.c (_dbus_string_set_byte): new - + 2003-01-31 Havoc Pennington - * dbus/dbus-message.c: refactor the test code to be more general, - in preparation for writing a "randomly permute test cases to + * dbus/dbus-message.c: refactor the test code to be more general, + in preparation for writing a "randomly permute test cases to try to break the loader" program. 2003-01-31 Havoc Pennington - + * doc/dbus-specification.sgml: work on the specification - * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check + * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check the protocol version of the message. - * dbus/dbus-protocol.h: drop special _REPLY names, the spec + * dbus/dbus-protocol.h: drop special _REPLY names, the spec no longer specifies that. - (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not + (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not 1/2/3/4) * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing @@ -3655,7 +5273,7 @@ 2003-01-31 Havoc Pennington - * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename + * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename just set_is_error/get_is_error as this is a commonly-used function, and write docs. @@ -3663,28 +5281,28 @@ * dbus/dbus-address.c: (dbus_address_entry_free): Free key and value lists. - + * dbus/dbus-internals.c: (_dbus_type_to_string): Add the types we didn't have. - + * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg): Add NIL types. - + * dbus/dbus-message.c: (dbus_message_set_sender): Remove todo about being able to set sender to NULL. - + (dbus_message_set_is_error_reply), (dbus_message_get_is_error_reply): * dbus/dbus-message.h: New functions. - + * dbus/dbus-protocol.h: Add error reply flag. - + * test/data/valid-messages/opposite-endian.message: Add NIL type to test. - + 2003-01-31 Havoc Pennington * doc/dbus-specification.sgml: fully specify the header. Add @@ -3701,10 +5319,10 @@ 2003-01-30 Havoc Pennington - * dbus/dbus-auth.c: rework to use only REJECTED, no + * dbus/dbus-auth.c: rework to use only REJECTED, no MECHANISMS - * doc/dbus-sasl-profile.txt: drop MECHANISMS and just + * doc/dbus-sasl-profile.txt: drop MECHANISMS and just use REJECTED, suggested by Mark McLoughlin 2003-01-30 Havoc Pennington @@ -3716,55 +5334,55 @@ * dbus/dbus-address.c (dbus_address_entries_free): add @todo about leaking list nodes - (dbus_parse_address): add @todo about documenting address format, + (dbus_parse_address): add @todo about documenting address format, and allowing , and ; to be escaped 2003-01-30 Anders Carlsson * dbus/Makefile.am: Add dbus-address.[ch] - + * dbus/dbus-address.c: (dbus_address_entry_free), (dbus_address_entries_free), (create_entry), (dbus_address_entry_get_method), (dbus_address_entry_get_value), (dbus_parse_address), (_dbus_address_test): * dbus/dbus-address.h: New files for dealing with address parsing. - + * dbus/dbus-connection.c: Document timeout functions. - + * dbus/dbus-message.c: Document dbus_message_new_from_message. - + * dbus/dbus-server-debug.c: Document. - + * dbus/dbus-server.c: (dbus_server_listen): Parse address and use correct server implementation. - + * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test): * dbus/dbus-string.h: New function with test. - + * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests): * dbus/dbus-test.h: Add address tests. - + * dbus/dbus-transport-debug.c: Document. - + * dbus/dbus-transport.c: (_dbus_transport_open): - Parse address and use correct transport implementation. + Parse address and use correct transport implementation. 2003-01-30 Havoc Pennington - * dbus/dbus-message.c: use message->byte_order instead of + * dbus/dbus-message.c: use message->byte_order instead of DBUS_COMPILER_BYTE_ORDER throughout. - (dbus_message_create_header): pad header to align the + (dbus_message_create_header): pad header to align the start of the body of the message to 8-byte boundary - * dbus/dbus-marshal.h: make all the demarshalers take const + * dbus/dbus-marshal.h: make all the demarshalers take const DBusString arguments. * dbus/dbus-message.c (_dbus_message_loader_return_buffer): @@ -3777,7 +5395,7 @@ implemented properly) (_dbus_string_validate_nul): new function to check all-nul - * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename + * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename get_arg_end_pos and remove all validation (_dbus_marshal_validate_arg): actually do validation here. @@ -3789,9 +5407,9 @@ 2003-01-28 Havoc Pennington * dbus/dbus-server-debug.c: Add doc section comments - + * dbus/dbus-transport-debug.c: add doc section comments - + 2003-01-28 Havoc Pennington * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in @@ -3805,13 +5423,13 @@ * dbus/dbus-connection.c: (_dbus_connection_add_timeout), (_dbus_connection_remove_timeout): Add functions for adding and removing timeouts. - + * dbus/dbus-message.c: (dbus_message_new_from_message): Add new function that takes a message and creates an exact copy of it, but with the refcount set to 1. (check_message_handling): Fix build error. - + * dbus/dbus-server-protected.h: * dbus/dbus-server.c: (_dbus_server_init_base), (_dbus_server_finalize_base), (_dbus_server_add_timeout), @@ -3824,16 +5442,16 @@ * dbus/dbus-timeout.c: (_dbus_timeout_new): Actually set the handler, doh. - + * dbus/dbus-transport.c: (_dbus_transport_open): Add commented out call to dbus_transport_debug_client_new. - + * dbus/Makefile.am: Add dbus-transport-debug.[ch] and dbus-server-debug.[ch] - + 2003-01-28 Havoc Pennington - * dbus/dbus-message.c (check_message_handling): function to check + * dbus/dbus-message.c (check_message_handling): function to check on the loaded message, iterates over it etc. 2003-01-28 Havoc Pennington @@ -3844,14 +5462,14 @@ 2003-01-27 Havoc Pennington - * dbus/dbus-mempool.c (time_for_size): replace printf with + * dbus/dbus-mempool.c (time_for_size): replace printf with _dbus_verbose * dbus/dbus-message-builder.c (_dbus_message_data_load): allow empty lines; fix the SAVE_LENGTH stuff to be - START_LENGTH/END_LENGTH so it actually works; couple other + START_LENGTH/END_LENGTH so it actually works; couple other bugfixes - + * test/Makefile.am (dist-hook): add dist-hook for .message files * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy @@ -3861,7 +5479,7 @@ * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility - * dbus/dbus-test-main.c (main): take an argument which is the + * dbus/dbus-test-main.c (main): take an argument which is the directory containing test data * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir @@ -3872,7 +5490,7 @@ * bus/dispatch.c: (bus_dispatch_message_handler): Dispatch messages sent to services. - + * bus/driver.c: (bus_driver_send_service_deleted), (bus_driver_send_service_created), (bus_driver_send_service_lost), (bus_driver_send_service_acquired): @@ -3880,56 +5498,56 @@ (bus_driver_send_welcome_message): Send HELLO_REPLY instead of WELCOME. - + (bus_driver_handle_list_services): Send LIST_SERVICES_REPLY instead of SERVICES. - + (bus_driver_handle_own_service), (bus_driver_handle_service_exists): New message handlers. - + (bus_driver_handle_message): Invoke new message handlers. - + (bus_driver_remove_connection): Don't remove any services here since that's done automatically by bus_service_remove_owner now. - + * bus/driver.h: New function signatures. - + * bus/services.c: (bus_service_add_owner): Send ServiceAcquired message if we're the only primary owner. - + (bus_service_remove_owner): Send ServiceAcquired/ServiceLost messages. - + (bus_service_set_prohibit_replacement), (bus_service_get_prohibit_replacement): Functions for setting prohibit replacement. - + (bus_service_has_owner): - New function that checks if a connection is in the owner queue of + New function that checks if a connection is in the owner queue of a certain service. - + * bus/services.h: Add new function signatures. - + * dbus/dbus-list.c: (_dbus_list_test): Add tests for _dbus_list_remove_last and traversing the list backwards. - + * dbus/dbus-list.h: Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't go any further, so return NULL then. - + * dbus/dbus-protocol.h: Add new messages, service flags and service replies. - + 2003-01-26 Havoc Pennington * dbus/dbus-message-builder.c: implement, completely untested. - * test/data/*: add data to be used in testing. + * test/data/*: add data to be used in testing. ".message" files are our simple loadable text format. ".message-raw" will be binary dumps of messages. @@ -3954,21 +5572,21 @@ The unit tests pass, but otherwise untested. If it breaks, the tests should have been better. ;-) - + * bus/driver.c (bus_driver_handle_hello): return if we disconnect the connection. - * dbus/dbus-message.c: redo everything so we maintain + * dbus/dbus-message.c: redo everything so we maintain message->header as the only copy of the various fields. This avoids the possibility of out-of-memory in some cases, for example dbus_message_lock() can't run out of memory anymore, - and avoids extra copying. Figured I may as well go ahead and do - this since it was busted for dbus_message_lock to not return + and avoids extra copying. Figured I may as well go ahead and do + this since it was busted for dbus_message_lock to not return failure on OOM, and dbus_message_write_header was totally unchecked for OOM. Also fixed some random other bugs. * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify - that strings are nul-terminated. Also, end_pos can be equal + that strings are nul-terminated. Also, end_pos can be equal to string length just not greater than, I think. (_dbus_marshal_set_int32): new function (_dbus_marshal_set_uint32): new function @@ -3986,7 +5604,7 @@ * bus/driver.c: (bus_driver_handle_hello), (bus_driver_send_welcome_message): Plug leaks - + 2003-01-26 Anders Carlsson * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref): @@ -3995,13 +5613,13 @@ * dbus/dbus-marshal.c: (_dbus_marshal_test): * dbus/dbus-message.c: (dbus_message_unref), Plug memory leaks. - - (dbus_message_get_fields): + + (dbus_message_get_fields): Remove debugging printout. (_dbus_message_loader_return_buffer): Don't store the header string. - + (_dbus_message_test): Plug leaks. @@ -4015,10 +5633,10 @@ * glib/dbus-gmain.c: (dbus_connection_prepare), (dbus_connection_check), (dbus_connection_dispatch), (add_watch), (remove_watch), (dbus_connection_hookup_with_g_main): - Rewrite the glib handling to use its own GSource instead of a + Rewrite the glib handling to use its own GSource instead of a GIOChannel so we can catch messages put in the queue while waiting for a reply. - + 2003-01-25 Anders Carlsson * bus/Makefile.am: @@ -4034,105 +5652,105 @@ (bus_driver_handle_list_services), (bus_driver_remove_connection), (bus_driver_handle_message): * bus/driver.h: - Refactor code, put the message dispatching in its own file. Use + Refactor code, put the message dispatching in its own file. Use _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client is disconnected. - + 2003-01-25 Anders Carlsson * dbus/dbus-internals.h: Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently. - + * dbus/dbus-message.c: (dbus_message_get_sender): * dbus/dbus-message.h: Implement dbus_message_get_sender. - + * dbus/dbus-protocol.h: Add message and service defines. - + 2003-01-25 Anders Carlsson * dbus/dbus-connection.c: (dbus_connection_send_message): * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_get_client_serial), (dbus_message_write_header): - Remove _dbus_messag_unlock and don't set the client serial on a + Remove _dbus_messag_unlock and don't set the client serial on a message if one already exists. - + 2003-01-24 Havoc Pennington * dbus/dbus-list.c (alloc_link): put a thread lock on the global list_pool - * bus/driver.c (bus_driver_handle_list_services): fix a leak + * bus/driver.c (bus_driver_handle_list_services): fix a leak on OOM 2003-01-25 Anders Carlsson * dbus/dbus-list.c: (alloc_link), (free_link): Use a memory pool for the links. - + 2003-01-25 Anders Carlsson * bus/connection.c: (bus_connection_foreach): * bus/connection.h: Add new bus_connection_foreach function. - + * bus/driver.c: (send_one_message), (bus_driver_broadcast_message): Add function that broadcasts a message to all clients. - + (bus_driver_send_service_created), (bus_driver_handle_hello), (bus_driver_send_welcome_message), (bus_driver_handle_list_services), (bus_driver_message_handler): Implement functions that take care of listing services, and notifying clients when new services are created. - + * bus/services.c: (bus_services_list): * bus/services.h: Add new function that returns an array of strings with the currently registered services. - + * glib/dbus-glib.h: * glib/dbus-gmain.c: Update copyright year. - + 2003-01-25 Anders Carlsson * dbus/dbus-connection.c: (dbus_connection_send_message): Unlock the message in case it was sent earlier. - + (dbus_connection_send_message_with_reply_and_block): Remove the reply message from the list. - + * dbus/dbus-marshal.c: (_dbus_demarshal_string_array): Set array_len and new_pos correctly. - + (_dbus_marshal_test): Remove debug output. - + * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_get_reply_serial): New function that returns the reply serial. - + (_dbus_message_unlock): New function that unlocks a message and resets its header. - (dbus_message_append_string_array), + (dbus_message_append_string_array), (dbus_message_get_fields_valist), (dbus_message_iter_get_field_type), - (dbus_message_iter_get_string_array), - (dbus_message_get_fields), + (dbus_message_iter_get_string_array), + (dbus_message_get_fields), (dbus_message_append_fields_valist): Handle string arrays. - + (dbus_message_set_sender): Make this function public since the bus daemon needs it. - + (decode_header_data): Set the reply serial to -1 initially. * dbus/dbus-message.h: - Add dbus_message_set_sender. + Add dbus_message_set_sender. 2003-01-24 Havoc Pennington @@ -4152,9 +5770,9 @@ 2003-01-21 Havoc Pennington (patch untested because can't compile) - + * bus/driver.c (create_unique_client_name): make this function - never recycle client names. Also, caller should initialize + never recycle client names. Also, caller should initialize the DBusString. * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function @@ -4172,27 +5790,27 @@ * dbus/dbus-protocol.h: Add support for marshalling and demarshalling integer, double and string arrays. - + 2003-01-21 Anders Carlsson * bus/Makefile.am: Add driver.[ch] - + * bus/connection.c: (connection_disconnect_handler): Remove the connection from the bus driver's list. - + (connection_watch_callback): Dispatch messages. (free_connection_data): Free connection name. - + (bus_connection_setup): Add connection to the bus driver's list. - (bus_connection_remove_owned_service): + (bus_connection_remove_owned_service): (bus_connection_set_name), (bus_connection_get_name): Add functions for setting and getting the connection's name. - + * bus/connection.h: Add function headers. - + * bus/driver.c: (create_unique_client_name), (bus_driver_handle_hello_message), (bus_driver_send_welcome_message), (bus_driver_message_handler), @@ -4202,27 +5820,27 @@ * bus/services.c: (bus_service_free): * bus/services.h: New file that handles communication and registreation with the bus - itself. - + itself. + 2003-01-21 Anders Carlsson * dbus/dbus-connection.c: (dbus_connection_send_message): Add a new client_serial parameter. - + (dbus_connection_send_message_with_reply): Remove a @todo since we've implemented the blocking function. - + (dbus_connection_send_message_with_reply_and_block): New function that sends a message and waits for a reply and then returns the reply. - + * dbus/dbus-connection.h: Add new functions. - + * dbus/dbus-errors.c: (dbus_result_to_string): * dbus/dbus-errors.h: Add new DBUS_RESULT. - + * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_get_reply_serial), (_dbus_message_set_sender), (dbus_message_write_header), @@ -4231,37 +5849,37 @@ * dbus/dbus-message.h: Add new functions that set the reply serial and sender. Also marshal and demarshal them correctly and add test. - + * dbus/dbus-protocol.h: Add new DBUS_MESSAGE_TYPE_SENDER. - + * glib/dbus-glib.h: * glib/dbus-gmain.c: (watch_callback), (free_callback_data), (add_watch), (remove_watch), (add_timeout), (remove_timeout), (dbus_connection_hookup_with_g_main): * glib/test-dbus-glib.c: (main): Rewrite to use GIOChannel and remove the GSource crack. - + * test/echo-client.c: (main): * test/watch.c: (check_messages): Update for changed APIs - + 2003-01-19 Anders Carlsson * dbus/Makefile.am: Add dbus-timeout.[cħ] - + * dbus/dbus-connection.c: (_dbus_connection_new_for_transport): - Create a DBusTimeoutList. + Create a DBusTimeoutList. (dbus_connection_set_timeout_functions): Add new function to set timeout callbacks - + * dbus/dbus-connection.h: Add public DBusTimeout API. - + * dbus/dbus-message.c: (dbus_message_get_service): * dbus/dbus-message.h: New function. * dbus/dbus-server.c: Fix small doc typo. - + * dbus/dbus-timeout.[ch]: New files for mainloop timeouts. 2003-01-19 Anders Carlsson @@ -4291,9 +5909,9 @@ * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak in OOM case - * dbus/dbus-connection.c (dbus_connection_set_max_message_size) - (dbus_connection_get_max_message_size) - (dbus_connection_set_max_live_messages_size) + * dbus/dbus-connection.c (dbus_connection_set_max_message_size) + (dbus_connection_get_max_message_size) + (dbus_connection_set_max_live_messages_size) (dbus_connection_get_max_live_messages_size): implement some resource limitation functions @@ -4305,10 +5923,10 @@ * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing docs - + 2003-01-18 Havoc Pennington - * dbus/dbus-connection.c (dbus_connection_unref): disconnect the + * dbus/dbus-connection.c (dbus_connection_unref): disconnect the connection if it hasn't been already. * dbus/dbus-connection.h: kill off the idea of an ErrorFunction, @@ -4318,9 +5936,9 @@ Building --disable-verbose-mode --disable-asserts --disable-tests cuts the library from 112K to 45K or so - - * configure.in: check for varargs macro support, - add --enable-verbose-mode, --enable-asserts. + + * configure.in: check for varargs macro support, + add --enable-verbose-mode, --enable-asserts. * dbus/dbus-internals.h (_dbus_assert): support DBUS_DISABLE_ASSERT @@ -4347,7 +5965,7 @@ 2003-01-15 Havoc Pennington Release 0.2 - + * NEWS: update 2003-01-15 Havoc Pennington @@ -4358,8 +5976,8 @@ 2003-01-15 Havoc Pennington Release 0.1. - - * NEWS: update + + * NEWS: update 2003-01-15 Havoc Pennington @@ -4377,7 +5995,7 @@ * bus/main.c: (main): Make sure that the DBusConnectionData struct is NULLed out to prevent a segfault. - + * dbus/dbus-errors.c: (dbus_result_to_string): * dbus/dbus-errors.h: * dbus/dbus-message.c: (dbus_message_get_fields), @@ -4385,7 +6003,7 @@ * dbus/dbus-message.h: Make dbus_message_get_fields return a result code so we can track invalid fields as well as oom. - + 2003-01-11 Havoc Pennington * configure.in: change --enable-test/--enable-ansi action-if-given @@ -4398,11 +6016,11 @@ * dbus/dbus-test-main.c: move main() for test app here * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests): we have to export a - symbol to run tests, because dbus-test isn't in the main + symbol to run tests, because dbus-test isn't in the main library Code review nitpicks. - + * dbus/dbus-message.c (dbus_message_write_header): add newlines for people with narrow emacs ;-). Assert client_serial was filled in. Assert message->name != NULL. @@ -4439,7 +6057,7 @@ 2003-01-08 Havoc Pennington - * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write + * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write to the select() as needed for authentication. (should be using _dbus_poll() not select, but for another day) @@ -4454,7 +6072,7 @@ * dbus/dbus-internals.c: (_dbus_type_to_string): New function that returns a string describing a type. - + * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array): * dbus/dbus-marshal.h: * dbus/dbus-message.c: (dbus_message_get_fields_valist), @@ -4500,7 +6118,7 @@ * test/echo-client.c: (main): * test/watch.c: (check_messages): Make messages sendable and receivable for real. - + 2003-01-07 Anders Carlsson * dbus/dbus-marshal.c: (_dbus_marshal_double), @@ -4509,7 +6127,7 @@ (dbus_message_append_uint32), (dbus_message_append_double), (dbus_message_append_string), (dbus_message_append_byte_array): Handle OOM restoration. - + 2003-01-07 Anders Carlsson * dbus/dbus-marshal.c: (_dbus_marshal_string), @@ -4517,13 +6135,13 @@ * dbus/dbus-marshal.h: * dbus/dbus-message.c: (dbus_message_get_name), Document these functions. - + (dbus_message_append_int32), (dbus_message_append_uint32), (dbus_message_append_double), (dbus_message_append_string), (dbus_message_append_byte_array): * dbus/dbus-message.h: Add functions for adding message fields of different types. - + * dbus/dbus-protocol.h: Add the different types. @@ -4557,13 +6175,13 @@ 2003-01-04 Havoc Pennington - * test/watch.c (error_handler): make it safe if the error handler + * test/watch.c (error_handler): make it safe if the error handler is called multiple times (if we s/error handler/disconnect handler/ we should just guarantee it's called only once) * dbus/dbus-transport.c (_dbus_transport_disconnect): call the error handler on disconnect (it's quite possible we should - just change the error handler to a "disconnect handler," I'm + just change the error handler to a "disconnect handler," I'm not sure we have any other meaningful errors) * configure.in: check for getpwnam_r @@ -4588,7 +6206,7 @@ * dbus/dbus-marshal.h: Add _dbus_marshal_byte_array and rename _dbus_marshal_string to _dbus_marshal_utf8_string. Also fix some tests. - + 2002-12-28 Harri Porten * configure.in: added check for C++ compiler and a very cheesy @@ -4596,9 +6214,9 @@ * Makefile.am (SUBDIRS): compile qt subdir if support is enabled - * qt/Makefile.am: added + * qt/Makefile.am: added - * qt/.cvsignore: added + * qt/.cvsignore: added * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to latter, added #ifdef QT_THREAD_SUPPORT guard. @@ -4611,7 +6229,7 @@ 2002-12-27 Anders Carlsson - * acinclude.m4: Add this file and put the + * acinclude.m4: Add this file and put the PKG_CHECK_MODULE macro in it. 2002-12-27 Anders Carlsson @@ -4621,9 +6239,9 @@ (_dbus_demarshal_uint32), (_dbus_demarshal_string), (_dbus_marshal_test): Make the demarshalling routines align the pos argument. - Add string marshalling tests and fix the obvious bugs + Add string marshalling tests and fix the obvious bugs discovered. - + 2002-12-26 Havoc Pennington * dbus/dbus-auth.c: fixes fixes fixes @@ -4631,8 +6249,8 @@ * dbus/dbus-transport-unix.c: wire up support for encoding/decoding data on the wire - * dbus/dbus-auth.c (_dbus_auth_encode_data) - (_dbus_auth_decode_data): append to target string + * dbus/dbus-auth.c (_dbus_auth_encode_data) + (_dbus_auth_decode_data): append to target string instead of nuking it. 2002-12-26 Havoc Pennington @@ -4642,7 +6260,7 @@ doh * dbus/dbus-marshal.c: Add macros to do int swapping in-place and - avoid swap_bytes() overhead (ignoring possible assembly stuff for + avoid swap_bytes() overhead (ignoring possible assembly stuff for now). Main point is because I wanted unpack_uint32 to implement _dbus_verbose_bytes (_dbus_verbose_bytes): new function @@ -4651,14 +6269,14 @@ * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add mechanism to handle a corrupt message stream - (_dbus_message_loader_new): fix preallocation to only prealloc, + (_dbus_message_loader_new): fix preallocation to only prealloc, not prelengthen - + * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function (_dbus_string_test): enhance tests for copy/move and fix the functions - * dbus/dbus-transport-unix.c: Hold references in more places to + * dbus/dbus-transport-unix.c: Hold references in more places to avoid reentrancy problems * dbus/dbus-transport.c: ditto @@ -4678,7 +6296,7 @@ (_dbus_auth_get_unused_bytes): append the unused bytes to the passed in string, rather than prepend - * dbus/dbus-transport.c (_dbus_transport_init_base): create + * dbus/dbus-transport.c (_dbus_transport_init_base): create the auth conversation DBusAuth * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd) @@ -4693,14 +6311,14 @@ (unix_connection_set): unref watch if we fail to add it * dbus/dbus-connection.c (dbus_connection_unref): delete the - transport first, so that the connection owned by the + transport first, so that the connection owned by the transport will be valid as the transport finalizes. * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch if necessary, and remove watches from the connection. - + * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment - + 2002-12-26 Anders Carlsson * dbus/dbus-marshal.c: (_dbus_marshal_string), @@ -4710,15 +6328,15 @@ * dbus/dbus-marshal.h: Add string marshal functions and have the demarshal functions return the new position. - + 2002-12-25 Havoc Pennington - * doc/dbus-sasl-profile.txt: docs on the authentication protocol, + * doc/dbus-sasl-profile.txt: docs on the authentication protocol, it is a simple protocol that just maps directly to SASL. * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol initial implementation, not actually used yet. - + * dbus/dbus-string.c (_dbus_string_find): new function (_dbus_string_equal): new function (_dbus_string_base64_encode): new function @@ -4736,7 +6354,7 @@ * dbus/dbus-test.c: (main): * dbus/dbus-test.h: Add un-optimized marshalling/demarshalling routines. - + 2002-12-25 Harri Porten * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions @@ -4751,17 +6369,17 @@ * glib/dbus-gthread.c: fix include - * glib/dbus-glib.h: rename DBusMessageHandler for now. - I think glib API needs to change, though, as you don't - want to use DBusMessageFunction, you want to use the - DBusMessageHandler object. Probably + * glib/dbus-glib.h: rename DBusMessageHandler for now. + I think glib API needs to change, though, as you don't + want to use DBusMessageFunction, you want to use the + DBusMessageHandler object. Probably dbus_connection_open_with_g_main_loop() and dbus_connection_setup_g_main_loop() or something like that - (but think of better names...) that just create a connection + (but think of better names...) that just create a connection that has watch/timeout functions etc. already set up. * dbus/dbus-connection.c - (dbus_connection_send_message_with_reply): new function just to + (dbus_connection_send_message_with_reply): new function just to show how the message handler helps us deal with replies. * dbus/dbus-list.c (_dbus_list_remove_last): new function @@ -4770,15 +6388,15 @@ wasn't * dbus/dbus-hash.c: use memory pools for the hash entries - (rebuild_table): be more paranoid about overflow, and + (rebuild_table): be more paranoid about overflow, and shrink table when we can (_dbus_hash_test): reduce number of sprintfs and write - valid C89. Add tests for case where we grow and then + valid C89. Add tests for case where we grow and then shrink the hash table. * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools - * dbus/dbus-connection.c (dbus_connection_register_handler) + * dbus/dbus-connection.c (dbus_connection_register_handler) (dbus_connection_unregister_handler): new functions * dbus/dbus-message.c (dbus_message_get_name): new @@ -4793,13 +6411,13 @@ * glib/dbus-glib.h: * glib/dbus-gthread.c: (dbus_gthread_init): Don't use the gdbus prefix for public functions. - + 2002-12-16 Anders Carlsson * Makefile.am: * configure.in: Add GLib checks and fixup .pc files - + * glib/Makefile.am: * glib/dbus-glib.h: * glib/dbus-gmain.c: (gdbus_connection_prepare), @@ -4810,14 +6428,14 @@ (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init): * glib/test-dbus-glib.c: (message_handler), (main): Add GLib support. - + 2002-12-15 Harri Porten - * autogen.sh: check for libtoolize before attempting to use it - + * autogen.sh: check for libtoolize before attempting to use it + * dbus/dbus-transport-unix.c: include for timeval struct. - + * .cvsignore: ignore more stamp files * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error @@ -4855,7 +6473,7 @@ * dbus/dbus-connection.c (dbus_connection_send_message): return TRUE on success - * dbus/dbus-transport.c: include dbus-watch.h + * dbus/dbus-transport.c: include dbus-watch.h * dbus/dbus-connection.c: include dbus-message-internal.h @@ -4869,17 +6487,17 @@ system/libc usage here, as in vsftpd, for ease of auditing (and should also simplify portability). Haven't actually moved all the system/libc usage into here yet. - + 2002-11-25 Havoc Pennington - * dbus/dbus-internals.c (_dbus_verbose): fix to not + * dbus/dbus-internals.c (_dbus_verbose): fix to not always print the first verbose message. 2002-11-24 Havoc Pennington - * test/echo-client.c, test/echo-server.c: cheesy test + * test/echo-client.c, test/echo-server.c: cheesy test clients. - + * configure.in (AC_CHECK_FUNCS): check for writev * dbus/dbus-message.c (_dbus_message_get_network_data): new @@ -4898,8 +6516,8 @@ public API for reporting errors * dbus/dbus-connection.h, dbus/dbus-connection.c: - public object representing a connection that - sends/receives messages. (Same object used for + public object representing a connection that + sends/receives messages. (Same object used for both client and server.) * dbus/dbus-transport.h, dbus/dbus-transport.c: @@ -4908,20 +6526,20 @@ 2002-11-23 Havoc Pennington - * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN + * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN _DBUS_INT_MAX - * dbus/dbus-test.c (main): add list test, and include + * dbus/dbus-test.c (main): add list test, and include dbus-test.h as intended - * dbus/dbus-hash.c (_dbus_hash_table_remove_string) - (_dbus_hash_table_remove_int): return value indicates + * dbus/dbus-hash.c (_dbus_hash_table_remove_string) + (_dbus_hash_table_remove_int): return value indicates whether the entry existed to remove - * dbus/dbus-list.c: add linked list utility class, + * dbus/dbus-list.c: add linked list utility class, with docs and tests - * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket + * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket array sometimes. 2002-11-23 Havoc Pennington @@ -4931,43 +6549,43 @@ * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES - * dbus/dbus-message.c, dbus/dbus-hash.c: + * dbus/dbus-message.c, dbus/dbus-hash.c: add some missing @brief 2002-11-23 Havoc Pennington - * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS + * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS to avoid confusing Doxygen * dbus/dbus-hash.c: @} not }@ - * dbus/dbus-message.c (struct DBusMessage): split out + * dbus/dbus-message.c (struct DBusMessage): split out internals docs 2002-11-23 Havoc Pennington * configure.in: pile on more warning flags if using gcc - * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have + * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have to document static functions - * configure.in: add summary to end of configure so it + * configure.in: add summary to end of configure so it looks nice and attractive - * dbus/dbus-hash.c: finish implementation and write unit + * dbus/dbus-hash.c: finish implementation and write unit tests and docs * configure.in: add --enable-tests to enable unit tests - * dbus/dbus-test.c: test program to run unit tests - for all files in dbus/*, initially runs a test for + * dbus/dbus-test.c: test program to run unit tests + for all files in dbus/*, initially runs a test for dbus-hash.c - + * dbus/dbus-internals.h: file to hold some internal utility stuff 2002-11-22 Havoc Pennington - * dbus/dbus-hash.c: copy in Tcl hash table, not yet + * dbus/dbus-hash.c: copy in Tcl hash table, not yet "ported" away from Tcl * dbus/dbus-types.h: header for types such as dbus_bool_t @@ -4976,7 +6594,7 @@ * dbus/dbus.h: fixups for doc warnings - * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up + * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up macros (QUIET): make it quiet so we can see warnings @@ -4988,8 +6606,8 @@ * configure.in: generate the Doxyfile - * Doxyfile.in: move Doxyfile here, so we can use - configure to generate a Doxyfile with the right + * Doxyfile.in: move Doxyfile here, so we can use + configure to generate a Doxyfile with the right version number etc. 2002-11-22 Havoc Pennington @@ -4998,16 +6616,16 @@ * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api so all docs are under doc/ - (MAN_EXTENSION): generate man pages. Use extension - ".3dbus" which matches ".3qt" on my system, + (MAN_EXTENSION): generate man pages. Use extension + ".3dbus" which matches ".3qt" on my system, I guess this is OK, I don't know really. (FILE_PATTERNS): look for .c files not .h, makes sense for plain C I think 2002-11-22 Havoc Pennington - * Makefile.am (SUBDIRS): rename subdir "server" to "bus" - because any app can be a server, and any app can be a client, + * Makefile.am (SUBDIRS): rename subdir "server" to "bus" + because any app can be a server, and any app can be a client, the bus is a special kind of server. Thu Nov 21 23:35:31 2002 Zack Rusin @@ -5015,7 +6633,7 @@ Thu Nov 21 23:35:31 2002 Zack Rusin * Doxyfile : adding. Still needs Makefile rules to be generated automatically (just run "doxygen" in the toplevel dir for now to generate docs) - + * dbus/dbus-message.h : Adding sample docs (javadoc since resembles gtk-doc a little more) @@ -5023,17 +6641,17 @@ Thu Nov 21 23:35:31 2002 Zack Rusin 2002-11-21 Havoc Pennington - * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION - so we can allow ourselves to include files directly, + * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION + so we can allow ourselves to include files directly, instead of having to use dbus.h * dbus/dbus.h: fill in * dbus/dbus-message.h: sketch out a sample header file. - Include griping if you include it directly instead of + Include griping if you include it directly instead of via dbus.h - * dbus/dbus-macros.h: new file with macros for extern "C", + * dbus/dbus-macros.h: new file with macros for extern "C", TRUE/FALSE, NULL, etc. * doc/file-boilerplate.c: put include guards in here @@ -5042,7 +6660,7 @@ Thu Nov 21 23:35:31 2002 Zack Rusin * doc/file-boilerplate.c: include both AFL and GPL boilerplate. - * COPYING: include the GPL as well, and license code + * COPYING: include the GPL as well, and license code under both AFL and GPL. 2002-11-21 Havoc Pennington @@ -5052,9 +6670,9 @@ Thu Nov 21 23:35:31 2002 Zack Rusin * autogen.sh (run_configure): add --no-configure option * configure.in: remove AC_ARG_PROGRAM to make - autoconf complain less. add AC_PREREQ. + autoconf complain less. add AC_PREREQ. add AC_DEFINE third arg. - + 2002-11-21 Anders Carlsson * doc/Makefile.am: